数据同步功能支持多种同步拓扑,您可以根据业务需求规划您的同步实例。本文介绍DTS支持的同步拓扑类型和使用说明。
单向同步
在单向同步的拓扑中,为保障同步数据的一致性,对目标实例中的同步对象应只进行读操作,请勿进行写操作。
拓扑类型 | 拓扑图 | 说明 |
一对一单向同步 | 无 | |
一对多单向同步 | 您需要购买多个同步实例来实现一对多单向同步 。 例如,从实例A同步到实例B、实例C和实例D,那么您需要购买三个同步实例。 | |
级联单向同步 | 您需要购买多个同步实例来实现级联单向同步。 例如,从实例A同步到实例B,再从实例B同步到实例C,那么您需要购买两个同步实例。 | |
多对一单向同步 | 您需要购买多个同步实例来实现多对一单向同步 。 例如,从实例B、实例C和实例D同步到实例A,那么您需要购买三个同步实例。 说明 若源端不同对象的多条数据变更操作指向目标端的同一行数据(例如多表归并场景),DTS会将源端的数据变更操作在目标端并发执行(非按顺序执行),从而可能会导致数据不一致。 |
双向同步
表 1. 支持双向同步的链路
源实例 | 目标实例 |
MySQL |
|
PolarDB MySQL |
|
PostgreSQL |
|
PolarDB PostgreSQL |
说明 当前PostgreSQL到PostgreSQL或PolarDB PostgreSQL的双向同步任务,均需要您使用先购买再配置的创建方式。购买流程,请参见购买流程。 |
Tair/Redis | Tair/Redis |
MongoDB | MongoDB |
目前DTS仅支持两个数据库之间的双向同步,暂不支持多个数据库之间的双向同步。
关于双向同步的配置案例请参见MySQL实例间的双向同步。
您可以将现有的单向同步升级为双向同步,详情请参见单向同步升级至双向同步。
拓扑类型 | 拓扑图 | 说明 |
一对一双向同步 | 为保障同步数据的一致性,您需要确保同一个主键、业务主键、唯一键的记录只在一个实例中更新。 说明 如果同时更新则会按照您在数据同步作业中配置的冲突修复策略进行响应。 |