全部产品
阿里云办公

DRDS到分析型数据库ADS数据同步

更新时间:2018-08-09 10:17:49

本小节介绍如何使用数据传输服务DTS快速配置DRDS实例同ADS实例之间的数据实时同步作业,实现DRDS实例的增量数据到分析型数据库ADS的数据实时同步。

支持功能

支持的数据源

  1. 支持同一个阿里云账号下DRDS同分析型数据库ADS实例间的实时同步。
  2. 支持经典网络、VPC网络的DRDS实例。

支持的 SQL 操作类型

MySQL->AnalyticDB 实时同步支持的 SQL 操作类型如下:

  • Insert
  • Delete
  • Update

DTS暂不支持DRDS中表结构变更(DDL)到AnalyticDB的自动同步。同步过程中,如果DRDS中某个表进行了DDL操作,那么,DTS会跳过这个DDL,后面同步到这个表的相关DML操作时,会出现同步失败。此时,需要用户在目标ADS中手动修改表结构后,重启DTS任务即可。

同步限制

容灾能力

暂不支持DRDS实例网络类型切换时的DTS同步实例自动容灾。如果业务上进行DRDS实例的网络类型切换时,需要提交工单申请恢复DTS同步实例。

同步架构

对于DRDS->ADS的实时同步功能支持的同步架构如下:
1. A->B 即1对1的单向同步
建议实例 B 中同步的对象为只读,否则会导致同步链路异常,出现数据不一致的情况。

单向同步一对一

2. A->B/C/D 即一对多的分发式同步架构
这个架构对目标ADS 实例个数没有限制,但是建议目标ADS实例中的同步对象必须为只读,否则会导致同步链路异常,出现数据不一致的情况。

单向同步一对多

3. B/C/D->A 即多对一的数据汇总架构
对于这种多对一的同步架构,为了保证同步数据一致性,要求每条同步链路同步的对象不相同。

单向同步多对一

准备事项

准备实例

在配置同步作业前,要确保同步作业的源DRDS实例及目标ADS实例都已经存在。如果不存在,那么请先购买实例。

建立表结构

对于DRDS到分析型数据库AnalyticDB的数据同步,DTS暂不支持自动在目标实例中自动创建同步表的表结构,所以在配置同步作业之前,需要先在目标实例中手动创建表结构。具体的建表语法可以参考 ADS使用手册

配置步骤

下面我们详细介绍下DRDS 实例同分析型数据库ADS之间的同步实例的配置流程。

1. 购买同步链路

进入数据传输 DTS 控制台,进入数据同步页面,点击控制台右上角 “创建同步作业” 购买同步实例。

同步链路目前支持包年包月及按量付费两种付费模式,可以根据需要选择不同的付费模式。包年包月实例单价是按量付费单价的2/3,如果是业务长期使用,建议购买包年包月实例。

在购买页面需要配置的参数包括:

  • 源实例
    源实例为同步作业的源实例的数据库类型,当前支持MySQL及DRDS,此处选择DRDS。
  • 源实例区域
    源地域为同步作业的源实例所在的区域。此处选择源DRDS实例所在的区域。

  • RDS数量
    这个参数为源DRDS实例需要同步的分库所分布的RDS实例的个数。分库所分布的RDS实例可以到DRDS控制台查询。

  • 目标实例
    目标实例为同步作业的目标实例的类型,当源实例类型为DRDS时,目标实例支持DRDS、Datahub、分析型数据库AnalyticDB。此处选择分析型数据库AnalyticDB。

  • 目标实例区域
    目标实例区域为同步作业的目标实例所在的区域。此处选择目标ADS实例所在的区域。

  • 实例规格

实例规格影响了链路的同步性能,实例规格跟性能之间的对应关系详见 数据同步规格说明

再选择购买时长及数量即完成实例购买。当购买完同步实例,返回数据传输控制台,点击新购链路右侧的“配置同步作业” 开始链路配置。

2. 同步链路连接信息配置

在这一步主要配置:

  • 同步作业名称

同步作业名称没有唯一性要求,主要为了更方便识别具体的作业,建议选择一个有业务意义的作业名称,方便后续的链路查找及管理。

  • 源DRDS 实例 ID

配置源DRDS实例的实例ID,只能选择当前登陆的阿里云账号下的DRDS实例。

  • 目标AnalyticDB的数据库名称

DRDS2ADS数据源配置

当这些内容配置完成后,可以点击授权白名单并进入下一步

3. 授权DRDS实例白名单

这个步骤,主要是将数据传输服务器 IP 添加到同步 DRDS 实例的白名单中。避免因为 DRDS 设置了白名单,数据传输服务器连接不上 DRDS 导致同步作业失败。

为了保证同步作业的稳定性,在同步过程中,请勿将这些服务器 IP 从 DRDS 实例的白名单中删除。

当白名单授权后,点击下一步,进入同步账号创建。

4. ADS同步账号授权

ADS同步账号授权

这个步骤主要是将 AnalyticDB 对应数据库的读写权限授权给 DTS 同步账号。

5. 选择同步对象

当创建完目标 DRDS 实例的同步账号后,即进入同步初始化配置及同步对象的选择。

同步初始化配置,初始化是同步链路启动的第一步,它会将源实例中已经存在同步对象的结构及数据在目标实例中初始化,作为后续增量同步数据的基线数据。

对于DRDS数据同步,同步初始化只支持全量数据初始化,建议选择全量初始化。

实时同步的同步对象的选择粒度可以支持到表级别,即用户可以选择同步某些库或是同步某几张表。

选择同步对象

当配置完同步对象后,进入同步初始化配置。

6. 同步初始化配置

同步初始化配置,初始化是同步链路启动的第一步,它会将源实例中已经存在同步对象的结构及数据在目标实例中初始化,作为后续增量同步数据的基线数据。

对于DRDS到ADS的数据同步,同步初始化支持结构初始化、全量数据初始化,建议选择结构初始化及全量初始化。

同步初始化

7.ADS表结构配置

如果选择了结构初始化,那么需要对每个要同步的表,定义其在 AnalyticDB 中的表类型、主键、分区列等。AnalyticDB的表定义可以参考 创建和修改表

ADS表结构配置

8.预检查

当上面所有选项配置完成后,即进入启动之前的预检查。

当同步作业配置完成后,数据传输服务会进行限制预检查,当预检查通过后,可以点击 启动 按钮,启动同步作业。

当同步作业启动之后,即进入同步作业列表。此时刚启动的作业处于同步初始化状态。初始化的时间长度依赖于源实例中同步对象的数据量大小。
当初始化完成后同步链路即进入同步中的状态,此时,源跟目标实例的同步链路才真正建立完成。