数据同步功能支持多种同步拓扑,您可以根据业务需求规划您的同步实例。本文介绍DTS支持的同步拓扑类型和使用说明。
单向同步
在单向同步的拓扑中,为保障同步数据的一致性,对目标实例中的同步对象应只进行读操作,请勿进行写操作。
| 拓扑类型 | 拓扑图 | 说明 | 
| 一对一单向同步 | 
 | 无 | 
| 一对多单向同步 | 
 | 您需要购买多个同步实例来实现一对多单向同步 。 例如,从实例A同步到实例B、实例C和实例D,那么您需要购买三个同步实例。 | 
| 级联单向同步 | 
 | 您需要购买多个同步实例来实现级联单向同步。 例如,从实例A同步到实例B,再从实例B同步到实例C,那么您需要购买两个同步实例。 | 
| 多对一单向同步 | 
 | 您需要购买多个同步实例来实现多对一单向同步 。 例如,从实例B、实例C和实例D同步到实例A,那么您需要购买三个同步实例。 说明  若源端不同对象的多条数据变更操作指向目标端的同一行数据(例如多表归并场景),DTS会将源端的数据变更操作在目标端并发执行(非按顺序执行),从而可能会导致数据不一致。 | 
双向同步
支持双向同步的数据库实例,如下表所示。
- 当数据库类型为MongoDB或Tair/Redis时,仅阿里云数据库实例支持双向同步(接入方式均需为云实例)。 
- 目前DTS仅支持两个数据库之间的双向同步,暂不支持多个数据库之间的双向同步。 
- 您可以将现有的单向同步升级为双向同步,详情请参见单向同步升级至双向同步。 
- 若双向同步实例在西南1(成都)或华东2(上海)地域,且包含全量任务,DTS默认会为该全量同步任务创建全量校验模式为按表行数进行校验的全量校验任务。若您已自行配置全量校验任务,则以您所配置的全量校验任务为准。 
- 若您有其他疑问或需求,可以通过钉钉(钉钉通讯客户端下载地址)进入到DTS客户交流钉钉群(群号:116655009709),进行咨询。 
| 源库类型 | 目标库类型 | 配置文档 | 
| MySQL | MySQL | |
| PolarDB for MySQL | ||
| PolarDB for MySQL | MySQL | 文档准备中 | 
| PolarDB for MySQL | ||
| PostgreSQL | PostgreSQL | |
| PolarDB for PostgreSQL | ||
| PolarDB for PostgreSQL | PostgreSQL | |
| PolarDB for PostgreSQL | ||
| PolarDB(兼容Oracle) | PolarDB(兼容Oracle) | |
| PolarDB-X 2.0 | PolarDB-X 2.0 | |
| Tair/Redis | Tair/Redis | |
| MongoDB(副本集架构) | MongoDB(副本集架构) | |
| MongoDB(分片集群架构) | MongoDB(分片集群架构) | 
| 拓扑类型 | 拓扑图 | 说明 | 
| 一对一双向同步 | 
 | 为保障同步数据的一致性,您需要确保同一个主键、业务主键、唯一键的记录只在一个实例中更新。 说明  如果同时更新则会按照您在数据同步作业中配置的冲突修复策略进行响应。 | 




