当线上数据库中的历史数据(访问率很低的数据)越来越多,占用的存储越来越大,以至于会影响数据库的查询性能与业务运转,此时您可以使用数据管理DMS的数据归档功能,周期性地将符合筛选条件的表数据归档至其他数据库或存储服务中。同时,该功能还支持删除源表数据、表空间整理等,降低在线存储成本。
使用场景示例
在电子商务平台中,每天会产生大量的订单数据,这些订单数据随着时间的推移,其访问需求逐渐减少。为了提高数据库的性能和减少存储空间的占用,可以使用DMS的数据归档,周期性地归档订单数据。
注意事项
DMS数据归档仅适用于中小规模数据量的归档。对于特别大规模数据量的归档,建议您使用引擎自身的冷热数据分离功能。
归档表包含大字段(BLOB、TEXT等类型)和数据量较大的行时,可能会导致归档任务失败。
数据归档操作可能会对正在运行的业务性能产生一定的影响。
重要为最小化影响,建议您在业务低峰时执行归档操作。
目前不支持对包含虚拟列的表数据进行归档。
目前不支持在DMS控制台或使用API归档他云或自建数据库的数据。
DMS归档的数据是根据工单配置的过滤条件,在数据库查询结果的基础上进行筛选,请确保过滤条件的查询效率。
DMS数据归档与DTS数据迁移的区别
功能目的
数据归档可通过自定义过滤条件,将不经常访问的数据归档至其他存储中,旨在减轻主数据库的负载和提高性能。
数据迁移实现同构和异构数据源之间的数据迁移。数据迁移详情,请参见迁移方案概览。
应用场景
数据归档可实现将不常访问的数据,周期性地或一次性归档至其他数据库或存储中。
数据迁移适用于数据上云迁移、阿里云内部跨任务数据迁移、数据库拆分或扩容等业务场景。
归档目标选择指引
引擎类
对比项 | Lindorm | AnalyticDB MySQL 3.0 | AnalyticDB for PostgreSQL | RDS MySQL | PolarDB MySQL版 |
支持的源数据库类型 |
说明 MySQL数据库账号必须具有REPLICATION CLIENT权限。 | ||||
费用说明 | 数据归档功能不收费,在购买、使用目标实例过程中,可能会涉及费用。 | ||||
归档后是否支持删除源数据 | 支持同步删除源数据,保证数据归档和源数据删除同步完成,降低了后期删除源数据的麻烦和风险。
| ||||
如何查询已归档的数据 |
| ||||
指定归档位置 |
| ||||
表结构变化 | 新增一列,记录工单号、归档时间等,不影响数据使用。 | ||||
用途 |
|
|
|
|
|
数据把控能力 | 最强,数据归档在您管理的数据库实例上,可以通过数据库交互灵活处理数据。 |
存储类
对比项 | 专属存储(推荐) | 用户OSS | DBS内置OSS |
支持的源数据库类型 |
说明 MySQL数据库账号必须具有REPLICATION CLIENT权限。 |
|
|
费用说明 | 公测阶段专属存储暂不收费。 | 数据归档功能不收费,在购买、使用OSS过程中,可能会涉及费用。 | |
归档后是否支持删除源数据 | 支持同步删除源数据,保证数据归档和源数据删除同步完成,降低了后期删除源数据的麻烦和风险。
| 不支持自动删除源数据,需要通过新建普通数据变更工单清理数据库中已归档的数据。 | |
如何查询已归档的数据 | 支持通过DMS逻辑数仓查询已归档数据,同时,您可以使用文件合并功能提升查询归档数据效率,查询速度相对其他方式较快。 | 支持通过DMS逻辑数仓查询已归档数据。 | 查询归档数据需要通过DBS开通数据湖,在云原生数据湖分析DLA中查询已归档数据。 |
指定归档位置 | 无需关注数据存储的具体位置。 | 需要指定OSS。 | 不需要指定OSS。系统会自动在DBS中创建一个备份计划,将数据归档至OSS。 |
表结构变化 | 表结构不变化。 | 表结构不变化。 说明 在云原生数据湖分析DLA中查询已归档数据,列的顺序可能会发生变化。 | |
用途 |
| 降低在线存储成本(能力最强)。 | 降低在线存储成本(能力强)。 |
数据把控能力 | 较强,数据归档并存储在DMS中,您无需关注数据存储的具体位置。 | 较强,数据归档在用户开通的阿里云OSS上。 | 较弱,数据归档在DBS内置OSS上。 |
归档链路文档
常见问题
Q:如果在数据归档过程中选择了清理源表数据,历史的业务数据还能查询到吗?
A:可以。数据归档功能定时将大表的数据归档至其他数据库,可通过查询归档的历史实例来查询归档的历史业务数据。
若您还有其他数据归档的问题,请通过钉钉搜索群号19040023327,加入钉钉群进行反馈。