数据库传输服务 DTS 的数据同步功能支持多种同步拓扑,您可以根据业务需求选择合适的拓扑进行数据同步。本文介绍 DTS 支持的同步拓扑类型和使用说明。
单向同步
说明
- 为保障数据一致性,对单向同步的目标实例中的同步对象应只进行读操作,请勿进行写操作。
- 单向同步拓扑中仅需配置正向同步任务,配置方法请参见配置正向任务。
DTS 的单向同步支持如下拓扑类型:
- 一对一单向同步
从一个源实例同步到一个目标实例。该场景下仅需配置一个单向同步任务。 - 一对多单向同步
从一个源实例同步到多个目标实例。该场景下需配置多个单向同步任务。
例如,从实例 A 分别同步到实例 B、实例 C 和实例 D,那么您需要配置三个(实例 A 到 B、实例 A 到 C、实例 A 到 D)同步任务。 - 多对一单向同步
从多个源实例同步到一个目标实例。该场景下需配置多个单向同步任务。
例如,从实例 A、B、C 分别同步到实例 D,那么您需要配置三个(实例 A 到 D、实例 B 到 D、实例 C 到 D)同步任务。说明
为保障数据一致性,每个同步任务中选择的同步对象应该不同。
- 级联单向同步
一个同步任务中的目标实例,也是另一个同步任务中的源实例。该场景下需配置多个单向同步任务。
例如,从实例 A 同步到实例 B,再从实例 B 同步到实例 C。那么您需要配置两个同步任务。
双向同步
当前支持 MySQL 、Redis 数据库之间的一对一双向同步。
说明
- 在双向同步 MySQL 时,请勿同时在源端和目标端做 DDL 操作,否则可能会导致同步任务失败。
- 为保障数据一致性,建议存在同主键值的行只在一个实例中更新。如果同时更新,则会按照配置数据同步任务时选择的主键冲突处理方法进行处理。
- 双向同步拓扑中需分别配置正向同步任务和反向同步任务,配置方法请参见配置正向任务和配置反向任务。