数据同步功能帮助您实现数据源之间的数据实时同步,适用于数据异地多活、数据异地灾备、本地数据灾备、跨境数据同步、云BI及实时数据仓库等多种业务场景。本文将介绍数据同步功能支持的数据库、同步类型和同步拓扑。
数据同步在某些场景下可实现部分数据迁移的功能,且网络稳定性更好、功能更丰富。更多区别,请参见数据迁移和数据同步的区别是什么。
当前仅当目标库为函数计算FC时,不支持跨地域的同步任务(源库与目标库的地域不同),其余链路均支持。
是否支持创建跨阿里云账号的同步任务(源或目标库实例有是否跨阿里云账号配置项,且选择为跨账号)取决于数据库的类型和接入方式。更多信息,请参见支持的数据库。
源库或目标库为RDS MySQL数据库的链路,支持RDS MySQL Serverless实例;源库或目标库为RDS PostgreSQL数据库的链路,仅目标库支持RDS PostgreSQL Serverless实例;暂不支持云消息队列Kafka版Serverless系列实例。
通过云数据库专属集群MyBase创建的数据库实例,可以通过云实例的接入方式被DTS正常读取,您可以参考下表中的相应数据库链路文档进行配置。例如,您可以参考自建MySQL同步至RDS MySQL配置从自建MySQL同步至云数据库专属集群MyBase中的MySQL实例。
请确保源库与DTS服务之间、DTS服务与目标库之间的RTT(Round-Trip Time)均小于2毫秒,否则将会影响同步实例的性能。
例如,源库与DTS服务之间的物理距离较远(例如,部署在新加坡地域的数据库,通过部署在中国香港地域的VPN接入到DTS),导致RTT远高于2毫秒,从而导致同步实例产生延迟。
同步类型说明
同步类型 | 说明 |
库表结构同步 | DTS将源库中待同步对象的结构定义信息(例如表、视图、触发器、存储过程、索引等)同步至目标库。 重要 如果不支持库表结构同步,在配置数据同步任务之前,您需要根据源库中待同步对象的结构定义,在目标库中创建数据库、数据表。 |
全量数据同步 | DTS将源库中待同步对象的存量数据,全部同步到目标库中,作为后续增量同步数据的基线数据。 为简化数据同步的操作,建议在配置数据同步任务时,同时勾选库表结构同步和全量同步。 |
增量数据同步 | 同步任务固定支持增量数据同步,将源库产生的增量数据实时同步至目标库。 |
同步拓扑说明
请参见数据同步拓扑介绍。
源库限制
限制项 | 说明 |
网络带宽 | 须大于等于100 Mb/s。 |
业务要求 |
|
同步方案概览
DTS支持以下同步方案,您可以根据业务需求单击具体方案,来查看支持的版本、同步类型和配置步骤。
下表中各类自建数据库(例如自建MySQL、Redis等)支持的接入方式如下:
ECS自建数据库
专线/VPN网关/智能网关
数据库网关DG(无公网IP:Port的数据库)
由于公网质量等因素,此接入方式可能会导致任务不稳定。建议使用高速通道(Express Connect)或智能接入网关SAG(Smart Access Gateway)将本地数据中心和云上专有网络打通,然后通过专线/VPN网关/智能网关的接入方式将自建数据库接入DTS。更多信息,请参见连接本地IDC。
云企业网CEN
源为自建MySQL或RDS MySQL的同步方案
PolarDB-X 1.0中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL版创建的数据库。
PolarDB-X 1.0为目标时不支持结构同步以及结构初始化,PolarDB-X 2.0为目标时均支持。
PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
|
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | |
PolarDB MySQL版 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | ||
Oracle(RAC或非RAC架构) 版本为9i、10g、11g、12c、18c、19c | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB-X 1.0 | 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB-X 2.0 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB MySQL 版 2.0、3.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云数据库ClickHouse集群 20.8及以上版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
DataHub | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
Elasticsearch 5.5、5.6、6.x、7.x、8.x版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
MaxCompute | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云数据库Tair(兼容Redis)实例(集群架构、标准架构或读写分离架构) 4.0、5.0、6.0、7.0版本 | 全量数据同步 增量数据同步 | 单向同步 | ||
表格存储(Tablestore) | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
函数计算FC | 全量数据同步 增量数据同步 | 单向同步 | ||
云数据库SelectDB版 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生多模数据库Lindorm | 全量数据同步 增量数据同步 | 单向同步 | ||
Doris 1.2及以上版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 |
源为PolarDB MySQL版的同步方案
PolarDB-X 1.0中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL版创建的数据库。
PolarDB-X 1.0为目标时不支持结构同步以及结构初始化,PolarDB-X 2.0为目标时均支持。
PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
PolarDB MySQL版 所有版本 | PolarDB MySQL版 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | |
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | ||
PolarDB-X 1.0 | 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB-X 2.0 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB MySQL 版 2.0、3.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
DataHub | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云数据库ClickHouse集群 20.8及以上版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
Elasticsearch 5.5、5.6、6.x、7.x、8.x版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
MaxCompute | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
Oracle(RAC或非RAC架构) 版本为9i、10g、11g、12c、18c、19c | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云数据库SelectDB版 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
Doris 1.2及以上版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生多模数据库Lindorm | 全量数据同步 增量数据同步 | 单向同步 |
源为PolarDB PostgreSQL版的同步方案
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
PolarDB PostgreSQL版 11、14、15、16版本 |
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | |
PolarDB PostgreSQL版 11、14、15、16版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | ||
云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 |
源为PolarDB-X的同步方案
PolarDB-X 1.0中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL版创建的数据库。
PolarDB-X 1.0为目标时不支持结构同步以及结构初始化,PolarDB-X 2.0为目标时均支持。
PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
PolarDB-X 1.0 | PolarDB-X 1.0 | 全量数据同步 增量数据同步 | 单向同步 | |
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB MySQL版 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB MySQL 版 3.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
DataHub | 库表结构同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
Elasticsearch 5.5、5.6、6.x、7.x、8.x版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB-X 2.0 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB-X 2.0 | PolarDB-X 2.0 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | |
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB MySQL版 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB MySQL 版 3.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
DataHub | 库表结构同步 增量数据同步 | 单向同步 | ||
MaxCompute | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
Elasticsearch 5.5、5.6、6.x、7.x、8.x版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
Oracle(RAC或非RAC架构) 版本为9i、10g、11g、12c、18c、19c | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
表格存储(Tablestore) | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 |
源为PolarDB PostgreSQL版(兼容Oracle)的同步方案
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
PolarDB PostgreSQL版(兼容Oracle) 所有版本 | PolarDB PostgreSQL版(兼容Oracle) 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | |
| 库表结构同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB MySQL 版 3.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | PolarDB PostgreSQL版(兼容Oracle)集群同步至云原生数据仓库 AnalyticDB MySQL 版 3.0 |
源为Oracle的同步方案
仅支持在新版控制台配置。
目标库的PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
自建Oracle(RAC或非RAC架构) 9i、10g、11g、12c、18c、19c版本 | 云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | |
DataHub | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB-X 2.0 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB MySQL版 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
MaxCompute | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB PostgreSQL版(兼容Oracle) 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
阿里云消息队列Kafka版 0.10.1.0~2.x版本 说明 若Broker数量大于3个,需以专线/VPN网关/智能网关的方式接入DTS。 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 |
源为自建PostgreSQL或RDS PostgreSQL的同步方案
源库暂不支持RDS PostgreSQL Serverless实例,目标库支持。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
|
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | |
PolarDB PostgreSQL版 11、14、15、16版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 双向同步 | ||
云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB PostgreSQL版(兼容Oracle) 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 |
源为自建SQL Server或RDS SQL Server的同步方案
源库支持的自建SQL Server需为Enterprise、Developer、Enterprise Evaluation、Standard、Web版本。
目标库支持的自建SQL Server需为Enterprise、Developer、Enterprise Evaluation、Standard、Web版本。
已支持SQL Server Cluster或SQL Server AlwaysOn High Availability Group。
Azure SQL Database作为源库时,SQLServer增量同步模式需选择轮询查询CDC实例做增量同步。
源库不支持自建SQL Server为2005版本或源RDS SQL Server为2008、2008R2版本。
在混合式日志解析模式下(即SQLServer增量同步模式为非堆表用日志解析增量同步,堆表用CDC增量同步的实例),支持的源库(包含RDS SQL Server和自建SQL Server)有:
Enterprise或Enterprise Evaluation版:2012、2014、2016、2019或2022版本。
Standard版:2016、2019或2022版本。
Web版本的SQL Server为源库时,SQLServer增量同步模式仅支持解析源库日志做增量同步(不支持堆表)。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
|
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | |
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB MySQL版 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB MySQL 版 3.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
RDS PostgreSQL 9.4、10、11、12、13、14、15、16版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
DataHub | 库表结构同步 增量数据同步 | 单向同步 |
源为MariaDB的同步方案
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
|
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | |
RDS MySQL | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
RDS PostgreSQL 9.4、10、11、12、13、14、15、16版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 |
源为自建MongoDB或云数据库MongoDB的同步方案
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
副本集架构
| 副本集或分片集群架构
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | |
分片集群架构
| 副本集或分片集群架构
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | |
云数据库MongoDB(分片集群架构) 4.0、4.2、4.4、5.0、6.0、7.0版本 | 云数据库MongoDB(分片集群架构) 4.0、4.2、4.4、5.0、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 双向同步 | |
云数据库MongoDB(副本集架构) 4.0、4.2、4.4、5.0、6.0、7.0版本 | 云数据库MongoDB(副本集架构) 4.0、4.2、4.4、5.0、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 双向同步 | |
副本集或分片集群架构
| 函数计算FC | 增量数据同步 | 单向同步 | |
云原生多模数据库Lindorm | 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0 | 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库AnalyticDB MySQL版 3.0 | 全量数据同步 增量数据同步 | 单向同步 | ||
| 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB MySQL版 所有版本 | 全量数据同步 增量数据同步 | 单向同步 |
源为自建Redis或云数据库Tair(兼容Redis)的同步方案
Redis属于NoSQL数据库,无需库表结构同步。
仅支持本地盘的Redis企业版(Tair)实例、存储介质为内存Tair(云盘版)实例、存储介质为持久内存的Tair(云盘版)实例间的双向同步。
源库为自建Redis或云数据库Tair(兼容Redis)实例时,支持全量数据同步和增量数据同步,合并显示为增量同步。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
|
| 全量数据同步 增量数据同步 | 单向同步 | |
云数据库Tair(兼容Redis)企业版/Tair实例(集群架构、标准架构或读写分离架构) | 云数据库Tair(兼容Redis)企业版/Tair实例(集群架构、标准架构或读写分离架构) | 全量数据同步 增量数据同步 | 双向同步 |
源为TiDB的同步方案
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
TiDB | 云原生数据仓库 AnalyticDB MySQL 版 3.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | |
PolarDB-X 2.0 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | 文档准备中 |
源为Db2 for LUW的同步方案
Db2 for LUW在控制台显示为DB2 LUW。
目标库的PolarDB-X 2.0需兼容MySQL 5.7版本,且建议实例版本升级为5.4.11及以上,升级方式请参见查看和升级实例版本。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
Db2 for LUW 9.5、9.7、10.1、10.5、11.1、11.5版本 |
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | |
PolarDB MySQL版 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
PolarDB-X 2.0 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
云原生数据仓库 AnalyticDB PostgreSQL 版 4.3、6.0、7.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | ||
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 |
源为Db2 for i(AS/400)的同步方案
Db2 for i在控制台显示为DB2 iSeries(AS/400)。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
Db2 for i 7.3、7.4版本 |
| 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | 文档准备中 |
PolarDB MySQL版 所有版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 | 文档准备中 |
源为SLS的同步方案
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
日志服务SLS | 云数据库ClickHouse集群 20.8及以上版本 | 全量数据同步 增量数据同步 | 单向同步 |
源为数据管理DMS逻辑库的同步方案
DMS逻辑库需基于多个PolarDB MySQL版实例的分库建立。
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
数据管理DMS逻辑库 | 云原生数据仓库 AnalyticDB MySQL 版 3.0版本 | 库表结构同步 全量数据同步 增量数据同步 | 单向同步 |
源为AWS平台数据库的同步方案
源库 | 目标库 | 同步类型 | 同步拓扑 | 配置文档 |
AWS平台数据库 | 以控制台为准 |