全部产品
阿里云办公

DRDS实例间的数据实时同步

更新时间:2018-07-30 10:57:37

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

支持功能

  1. 支持同一个阿里云账号下两个 DRDS 实例间的实时同步。
  2. 支持经典网络、VPC网络的DRDS实例。

同步限制

容灾能力

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

同步架构

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

单向同步一对一

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

单向同步一对多

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

单向同步多对一

4. A->B->C 即级联架构

单向同步级联

如果用户配置同步链路过程中,配置不在上述支持范围内的的同步架构,那么预检查中的复杂拓扑检查项会检查失败。

rename table 限制

Rename table 操作需要满足限制条件方可正常同步,否则会导致同步数据不一致。例如同步对象只包含表 A,不包含表 B,如果同步过程中源实例执行了 rename A to B 的操作,那么改名后的表 B 的操作不会被同步到目标库。为了解决这个问题,可以选择同步表 A、B 对应的整个数据库。

准备事项

准备DRDS实例

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

建立表结构

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

配置步骤

下面我们详细介绍下两个 DRDS 实例之间的同步实例的配置流程。

1. 购买同步链路

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

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

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

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

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

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

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

  • 实例规格

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

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

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

在这一步主要配置:

  • 同步作业名称

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

  • 同步作业的 DRDS 实例 ID

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

配置数据源

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

3. 授权DRDS实例白名单

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

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

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

4. 创建目标库上的同步账号

这个步骤主要是在源及目标 DRDS 实例上创建同步账号,目标实例的同步账号名字为:dtssyncwriter,在同步过程中,不能删除这个账号,否则会导致同步链路中断。

5. 选择同步对象

当创建完目标 DRDS 实例的同步账号后,即进入同步对象的选择步骤。
实时同步的同步对象的选择粒度可以支持到表级别,即用户可以选择同步某些库或是同步某几张表。

选择同步对象

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

6. 同步初始化配置

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

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

同步初始化

7. 预检查

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

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

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