RDS MySQL实例数据量较大时,存储成本会随之增高。业务数据通常分为冷数据和热数据,将对象存储(OSS)作为归档冷数据的存储介质,能够大幅降低用户的存储成本。
功能简介
在开启RDS MySQL通用云盘的数据归档OSS功能后,用户可通过执行下面的DDL语句实现数据在ESSD和OSS之间的转换。通过数据归档OSS功能,用户能够将低频访问、数据量大的表转储至OSS,并通过原生InnoDB的访问方式去读取冷表数据。数据归档DDL操作如下:
归档
ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"Y"}';
取回
ALTER TABLE $table_name ENGINE_ATTRIBUTE='{"OSS":"N"}';
RDS MySQL归档表保留了InnoDB完整的索引信息和事务性,具有快速位点查询的能力,同时具备缓存加速能力,能够有效提升冷表访问的效率。
功能优势
开启RDS MySQL通用云盘的数据归档OSS功能后,借助OSS海量、安全、低成本、高可靠的特性,用户能够在RDS MySQL上实现极低成本的归档数据存储,在具备InnoDB事务能力之上支持低频的数据访问,数据存储成本相较于ESSD PL1云盘下降80%,同时性能也得到提升,详情见IO加速。
适用范围
引擎:RDS MySQL
产品类型:标准版、经济版
存储类型:通用云盘
说明如果实例不是通用云盘,可进行ESSD云盘变更为通用云盘。
本地盘、SSD云盘暂不支持变更至通用云盘。
版本:大于或等于MySQL 8.0 20240131
产品系列:基础系列、高可用系列、集群系列
暂不支持地域:韩国(首尔)、澳大利亚(悉尼)、英国(伦敦)
收费方式
公测期间免费
公测时间:2024年4月24日起,至2024年6月24日结束。
使用限制
当前存储在OSS端的表仅支持SELECT、DROP TABLE、DROP DATABASE、RENAME操作。用户将数据转存至ESSD后,该表将支持完整的访问权限。
当前OSS暂不支持分区表、包含全文索引的表、加密表、包含外键的表和压缩表(表压缩、页压缩)。
受限于OSS的访问延迟,相比ESSD存储,冷表的数据访问会具有更大的延迟(10ms级别)。
RDS MySQL归档表的数据大小不能低于6M。
开启数据归档后,会影响实例的备份及部分功能项,详情如下:
不支持功能项
说明
秒级备份
如需开启秒级备份,请关闭数据归档功能。请参见关闭数据归档功能。
如果实例需要开启数据归档功能,需提前确保秒级备份功能处于关闭状态。
跨地域备份
如需开启跨地域备份,请关闭数据归档功能。请参见关闭数据归档功能。
如果实例需要开启数据归档功能,需提前确保跨地域备份功能处于关闭状态。
库表恢复
选择按库恢复时,仅可恢复所选择库中的非数据归档的数据。
备份集下载
下载的备份集中仅包含非数据归档的数据。
说明已开启通用云盘数据归档的实例,相较于未开启时,由于需要恢复数据归档的数据,备份/恢复的时长会增长。
注意事项
OSS和读取会占用一部分内存,同时访问OSS侧数据将占用一定比例的ECS的网络带宽资源,因此需要合理调整数据转换和数据访问的速度和频率。
开启和关闭数据归档功能
开启数据归档功能
您可以在实例购买页或实例详情页开启数据归档功能:
实例购买页
在选择存储类型时,选择通用云盘,页面会自动显示三层存储(缓存、数据、冷存)的配置栏,可在冷存配置项中打开数据归档功能的开关。
实例详情页
访问RDS实例列表,在上方选择地域,然后单击目标实例ID(该实例符合数据归档OSS功能使用范围的实例)。
在实例详情页面,单击通用云盘开关设置,在冷存配置项中打开数据归档功能的开关。
重要数据归档OSS功能的开启过程并不是无损操作,会有30s左右的闪断。
关闭数据归档功能
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在实例详情页面,单击通用云盘开关设置,在冷存配置项中关闭数据归档功能的开关。
重要数据归档OSS功能的关闭过程并不是无损操作,会有30s左右的闪断。
数据归档OSS功能关闭时要求OSS中没有归档表数据,如果OSS中有归档表数据则不允许关闭,需要先通过DDL将归档表转为在线表或者将归档表DROP掉,再关闭数据归档OSS功能。
查看归档数据
通过控制台查看:
访问RDS实例列表,在上方选择地域,然后单击目标实例ID(该实例符合数据归档OSS功能使用范围的实例)。
在左侧导航栏,单击冷存管理,打开归档层设置,可查看已开启数据归档的数据库。
通过SQL命令查看:
SELECT t.NAME AS tablespace_name, SUBSTRING_INDEX(t.NAME, '/', 1) AS database_name, SUBSTRING_INDEX(t.NAME, '/', -1) AS table_name, oss.OSS_OBJECT_NUM * oss.OSS_OBJECT_SIZE AS SIZE_IN_OSS_BYTES FROM information_schema.innodb_tables AS t JOIN information_schema.innodb_tablespaces_oss AS oss ON t.space = oss.space;
相关参考
主要参数
RDS MySQL数据归档开放了以下参数,用户可结合实际使用情况修改相关参数。更多信息,请参见RDS MySQL 8.0开放参数一览表。
参数名称 | 默认值 | 说明 |
innodb_oss_ddl_threads | 16 |
|
innodb_oss_files_limit | 10240 |
|
innodb_oss_prefetch | ON |
|
innodb_oss_prefetch_linear_pct_threshold | 10% |
|
innodb_oss_prefetch_random_pct_threshold | 30% |
|
innodb_oss_prefetch_task_limit | 32 |
|
常见问题
Q:MySQL执行ALTER DDL
报错[OSS] Size of tables is less than 6291456
,是什么原因?
A:MySQL归档表的数据大小不能低于6M。
- 本页导读 (1)