文档

数据集成调度策略说明

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

DTS的数据集成功能可根据调度策略的配置,定期地将源库中的结构和存量数据迁移至目标库中。通过该功能可以帮助您构建更加灵活的数据仓库(例如构建T+1的周期性数仓),本文介绍数据集成的策略、限制及适用场景。

支持的数据库

支持全量数据迁移的数据源均支持数据集成功能,详情请参见迁移方案概览

费用说明

迁移类型

链路配置费用

公网流量费用

结构迁移和全量数据迁移

不收费。

通过公网将数据迁移出阿里云时将收费,详情请参见计费概述

配置方法

您需要在配置数据集成任务的设置迁移类型及列表环节中,为数据集成任务配置调度策略。

说明

相关配置案例,请参见配置RDS MySQL间的数据集成任务

调度策略说明

调度策略

说明

适用场景

多副本模式

DTS根据调度周期,自动地将源库中待迁移对象的结构和存量数据迁移至目标库中。

说明
  • DTS每次调度时,会自动地在目标实例中创建一个带有任务调度时间后缀(格式为_yyyymmdd_HH_mm_ss)的数据库,用于接收迁移的数据。例如待迁移的数据库为dtstestdata,任务调度时间为2020年02月10日的11:00:00,那么DTS在该时间执行迁移时,在目标库中创建的库名即为dtstestdata_20200210_11_00_00

  • 目标库需具备充足的存储空间用于存放每个周期DTS迁移过来的数据。

适用于某些测试场景,例如对多个副本历史数据执行测试操作。

重新同步模式

在第一个调度时间点,DTS自动地将待迁移对象的结构和存量数据迁移至目标库中;在后续的调度时间点,DTS会重新将待迁移对象的结构和存量数据迁移至目标库中。

警告
  • 在每次的调度时间点到来之前,您需要手动删除上个调度时间点迁移到目标库中的结构和数据(即删除迁移过来的库和表),否则将会导致数据迁移失败。

  • 如果DTS对该数据源不支持结构迁移,您还需要对照待迁移对象的结构在目标库中创建对应的结构。

在目标库中仅保持一份最新的存量数据用于测试或数据分析。

基于时间戳的增量模式

DTS会根据时间戳字段,将上次调度后产生的新数据迁移至目标库。该策略存在如下限制:

  • 当源和目标实例均为MySQL数据库,或者目标实例为云原生数据仓库 AnalyticDB MySQL 版时,才支持该策略。

  • 源表须具备时间戳字段,且需在配置数据迁移任务时指定每个表的时间戳字段。

  • 源表不能存在外键约束,否则可能导致数据迁移失败(可能在目标库中先更新有外键约束的子表,后更新附表,导致子表插入新数据报错)。

  • 无法迁移被物理删除的数据(例如通过DELETE、TRUNCATE命令删除)。

说明
  • 如果存在无主键的表,DTS会将整条记录作为主键进行全字段匹配,然后删除旧数据并插入新数据。

  • 新增的数据在写入目标库时,如果遇到主键冲突,DTS将执行REPLACE INTO来插入新数据。

适用于轻量级的数据迁移场景(无需每次迁移所有的存量数据),例如构建T+1的周期性数仓。

  • 本页导读 (1)
文档反馈