数据归档

更新时间: 2024-12-06 09:56:03

当线上数据库中的历史数据(访问率很低的数据)越来越多,占用的存储越来越大,以至于会影响数据库的查询性能与业务运转,此时您可以使用数据管理DMS的数据归档功能,周期性地将符合筛选条件的表数据归档至其他数据库或存储服务中。同时,该功能还支持删除源表数据、表空间整理等,降低在线存储成本。

使用场景示例

在电子商务平台中,每天会产生大量的订单数据,这些订单数据随着时间的推移,其访问需求逐渐减少。为了提高数据库的性能和减少存储空间的占用,可以使用DMS的数据归档,周期性地归档订单数据。

注意事项

  • DMS数据归档仅适用于中小规模数据量的归档。对于特别大规模数据量的归档,建议您使用引擎自身的冷热数据分离功能。

  • 归档表包含大字段(BLOB、TEXT等类型)和数据量较大的行时,可能会导致归档任务失败。

  • 数据归档操作可能会对正在运行的业务性能产生一定的影响。

    重要

    为最小化影响,建议您在业务低峰时执行归档操作。

  • 目前不支持对包含虚拟列的表数据进行归档。

  • 目前不支持在DMS控制台或使用API归档他云或自建数据库的数据。

  • DMS归档的数据是根据工单配置的过滤条件,在数据库查询结果的基础上进行筛选,请确保过滤条件的查询效率。

DMS数据归档与DTS数据迁移的区别

  • 功能目的

    • 数据归档可通过自定义过滤条件,将不经常访问的数据归档至其他存储中,旨在减轻主数据库的负载和提高性能。

    • 数据迁移实现同构和异构数据源之间的数据迁移。数据迁移详情,请参见迁移方案概览

  • 应用场景

    • 数据归档可实现将不常访问的数据,周期性地或一次性归档至其他数据库或存储中。

    • 数据迁移适用于数据上云迁移、阿里云内部跨任务数据迁移、数据库拆分或扩容等业务场景。

归档目标选择指引

引擎类

对比项

Lindorm

AnalyticDB MySQL 3.0

AnalyticDB for PostgreSQL

RDS MySQL

PolarDB MySQL版

支持的源数据库类型

  • MySQL类型:RDS MySQLPolarDB MySQL版AnalyticDB MySQL 3.0

  • PostgreSQL类型:RDS PostgreSQLPolarDB PostgreSQL版

  • PolarDB-X 2.0。

说明

MySQL数据库账号必须具有REPLICATION CLIENT权限。

费用说明

数据归档功能不收费,在购买、使用目标实例过程中,可能会涉及费用。

归档后是否支持删除源数据

支持同步删除源数据,保证数据归档和源数据删除同步完成,降低了后期删除源数据的麻烦和风险。

  • 删除源数据是通过无锁变更的方式进行,稳定快速,不会产生大事务。

  • 源数据会缓存在本地临时表中,如遇特殊情况,可以迅速恢复。

如何查询已归档的数据

  • 支持在DMS控制台查询已归档的数据。

  • 支持通过对应的数据库引擎查询已归档数据。

指定归档位置

  • 需要指定归档实例。

  • 不需要指定归档的库表。系统会自动根据源库的库表名称在归档实例上生成库和表。

表结构变化

新增一列,记录工单号、归档时间等,不影响数据使用。

用途

  • 将多张表合并成大宽表,以提高查询性能。

  • 高并发在线查询与检索2C场景下的数据。例如账单、订单的历史数据。

  • 全量数据自适应压缩和智能冷热分离,降低存储成本。

  • 毫秒级更新,亚秒级查询。

  • 高吞吐离线处理和高性能在线分析,实现降本增效。

  • 分析数据。

  • 降低在线存储成本。

  • 将数据自动同步到分析实例中,以提高复杂分析与查询速度。

  • 降低存储成本。

  • 分析数据。

  • 降低在线存储成本。

数据把控能力

最强,数据归档在您管理的数据库实例上,可以通过数据库交互灵活处理数据。

存储类

对比项

专属存储(推荐)

用户OSS

DBS内置OSS

支持的源数据库类型

  • MySQL类型:RDS MySQLPolarDB MySQL版AnalyticDB MySQL 3.0

  • PostgreSQL类型:RDS PostgreSQLPolarDB PostgreSQL版

  • MongoDB3.6版本及以上。

说明

MySQL数据库账号必须具有REPLICATION CLIENT权限。

  • MySQL类型:RDS MySQLPolarDB MySQL版AnalyticDB MySQL 3.0

  • PostgreSQL类型:RDS PostgreSQLPolarDB PostgreSQL版

  • MongoDB3.6版本及以上。

  • PolarDB-X 2.0。

  • MySQL类型:RDS MySQLPolarDB MySQL版

  • PolarDB PostgreSQL版

  • PolarDB-X 2.0。

费用说明

公测阶段专属存储暂不收费。

数据归档功能不收费,在购买、使用OSS过程中,可能会涉及费用。

  • DMS会在DBS中创建一个备份计划,DBS会根据备份的数据量收取备份、存储等费用。费用请参见DBS费用概述

    说明

    数据归档创建的DBS备份计划规格为xlarge。

  • 如果您想要查看归档后的数据,需要开通云原生数据湖分析DLA服务。费用请参见计费概述

归档后是否支持删除源数据

支持同步删除源数据,保证数据归档和源数据删除同步完成,降低了后期删除源数据的麻烦和风险。

  • 删除源数据是通过无锁变更的方式进行的,稳定快速,没有大事务。

  • 源数据会缓存在本地临时表中,如遇特殊情况,可以迅速恢复。

不支持自动删除源数据,需要通过新建普通数据变更工单清理数据库中已归档的数据。

如何查询已归档的数据

支持通过DMS逻辑数仓查询已归档数据,同时,您可以使用文件合并功能提升查询归档数据效率,查询速度相对其他方式较快。

支持通过DMS逻辑数仓查询已归档数据。

查询归档数据需要通过DBS开通数据湖,在云原生数据湖分析DLA中查询已归档数据。

指定归档位置

无需关注数据存储的具体位置。

需要指定OSS。

不需要指定OSS。系统会自动在DBS中创建一个备份计划,将数据归档至OSS。

表结构变化

表结构不变化。

表结构不变化。

说明

在云原生数据湖分析DLA中查询已归档数据,列的顺序可能会发生变化。

用途

  • 分析数据。

  • 降低在线存储成本(能力较强)。

降低在线存储成本(能力最强)。

降低在线存储成本(能力强)。

数据把控能力

较强,数据归档并存储在DMS中,您无需关注数据存储的具体位置。

较强,数据归档在用户开通的阿里云OSS上。

较弱,数据归档在DBS内置OSS上。

归档链路文档

常见问题

Q:如果在数据归档过程中选择了清理源表数据,历史的业务数据还能查询到吗?

A:可以。数据归档功能定时将大表的数据归档至其他数据库,可通过查询归档的历史实例来查询归档的历史业务数据。

若您还有其他数据归档的问题,请通过钉钉搜索群号19040023327,加入钉钉群进行反馈。

相关API

上一篇: 解决方案 下一篇: 数据归档至Lindorm
阿里云首页 数据管理 相关技术圈