数据管理DMS的数据归档功能定时将大表的数据归档至其他数据库,解决线上数据越来越多影响查询性能与业务运作的问题,同时支持源表数据删除、表空间整理回收等,可以提高数据库查询性能,降低在线存储成本。本文介绍将历史数据归档的方法。
前提条件
- 源数据库为:RDS MySQL、PolarDB MySQL版、PolarDB分布式版、RDS PostgreSQL、AnalyticDB MySQL 3.0、PolarDB PostgreSQL引擎、云数据库MongoDB版。说明
- 当前云数据库MongoDB版作为源库进行数据归档正在公测中。
- 物理库和逻辑库均支持。
- 物理库:具体的某个数据库。
- 逻辑库:由单个或多个物理库配置而成,可便捷地进行分库分表的操作。更多信息,请参见逻辑库。
- MySQL数据库账号必须具有REPLICATION CLIENT权限。
- 目标数据库为:OSS、Lindorm宽表引擎2.2.17及以上版本、AnalyticDB MySQL 3.0、AnalyticDB PostgreSQL版、DBS内置OSS、专属存储。
- 源库和目标库已录入DMS中。具体操作,请参见云数据库录入。说明 录入Lindorm实例时,数据库类型选择Lindorm-SQL。
- 需要归档的源表必须存在主键或者唯一键。说明 源表中最好有业务修改时间的字段,以便将业务修改时间作为归档的过滤条件。
注意事项
- 源库和目标库的管控模式均为安全协同,才可执行周期归档任务,否则归档任务可能会失败。变更管控模式的操作,请参见变更管控模式。
- 若您仅需要单次执行归档任务,则不限制数据库的管控模式。
操作步骤
- 登录数据管理DMS 5.0。
- 在顶部菜单栏中,选择 。
- 在页面右上角,单击数据归档。
- 在新建数据归档工单页面,配置工单信息。
配置项 说明 任务名 输入任务名称,方便后续查询。 归档目标 选中目标库的类型。 说明 如果归档目标为DBS内置OSS,归档方法,请参见数据归档至DBS内置OSS。目标实例 选择存放归档数据的目标实例。 说明- 如果归档目标为Lindorm,需要使用Lindorm宽表引擎2.2.17及以上版本。
- 系统会自动在目标实例上创建与源库同名的数据库。如果目标实例上已存在与源库同名的数据库,则源表直接归档到该数据库中。
数据库 搜索并选择源库。 归档配置 - 选择需要归档数据的源表。
- 可选:输入归档数据的过滤条件。说明 如果您需要使用时间变量,例如归档6个月前的数据,可以先进行变量配置。
- 可选:单击添加,添加多个源表。
归档表映射 您可以单击表名操作列中的编辑,编辑源表归档到目标库后的表名、列信息、分库键和分区键。 变量配置 配置时间变量,请参见配置时间变量。 后置行为 选择是否清理源表已归档数据。 - 不清理:归档后不清理源表数据。
- 清理:归档完成后,自动用无锁的方式清理源表数据。
运行方式 - 单次执行:工单审核通过后,仅单次运行归档任务。
- 周期调度:工单审核通过后,可根据部署的周期调度执行归档任务。具体配置,请参见周期调度。
- 单击提交申请。工单审批通过后,自动执行数据归档任务。说明 数据归档功能将以0时区进行数据归档与后置行为(与数据库实际时区无关)。
- 可选:查看已归档的数据。
- 可选:数据归档成功且确认无误后,您可以进行源表已归档数据删除和空间优化。
周期调度
配置项 | 说明 |
---|---|
调度周期 | 选择调度任务的周期:
|
定时调度 | 提供了2种定时调度的方式:
|
指定时间 |
|
具体时间 | 设置执行任务流的具体时间。 例如配置02:55,系统将在指定天的02时55分执行任务。 |
cron表达式 | 不需要手动配置,系统会根据您配置的周期、具体时间自动展现。 |
常见问题
Q:如果在数据归档过程中选择了清理源表数据,历史的业务数据还能查询到嘛?
A:可以。数据归档功能定时将大表的数据归档至其他数据库,可通过查询归档的历史实例来查询归档的历史业务数据。
若您还有其他数据归档的问题,请通过钉钉搜索群号19040023327,加入钉钉群进行反馈。