Data Transmission Service(DTS)所提供的資料同步功能可以協助您實現不同資料來源之間的即時資料同步。該功能可以捕獲來源資料庫的資料變更,並將其即時地同步至目標資料庫,廣泛應用於版本升級、資料拆分或擴容、異地多活、異地災備、跨境同步、查詢報表分流以及構建即時資料倉庫等業務情境。通過使用DTS,可以有效避免手動管理資料流所帶來的複雜性、易錯性及即時性保障的難度,從而使您能夠專註於業務本身,而非資料管道的維護。
核心概念
同步類型
DTS同步任務由三種可選的同步類型組合而成,以滿足不同業務需求。
選項建議
首次同步:推薦同時勾選庫表結構同步、全量同步和增量同步處理,實現從零到一的完整資料同步。
已有基準資料:若已通過其他方式在目標庫準備好資料,可僅選擇增量同步處理,但需確保兩端資料位元點的一致性,此操作較為複雜,需進行謹慎評估。
同步類型 | 說明 |
庫表結構同步 | 目的:在目標庫中自動建立與源庫匹配的結構。 DTS將源庫中待同步對象的結構定義(例如表、視圖、觸發器、預存程序、索引等)同步至目標庫。如果目標庫為空白,勾選此項可省去您手動建立的步驟。 重要 部分同步鏈路不支援庫表結構同步。在配置資料同步任務之前,您需根據源庫中待同步對象的結構定義,在目標庫中建立相應的資料庫、資料表與視圖等。 |
全量同步 | 目的:遷移源庫的歷史資料。 DTS將源庫中待同步對象的全部存量資料複製到目標庫,為後續的增量同步處理建立資料基準。 |
增量同步處理 | 目的:持續保持源庫與目標庫的資料同步。 DTS持續擷取源庫中待同步對象的增量變更動作陳述式(例如,從MySQL資料庫中的Binlog擷取增量變更語句),並根據目標庫的類型進行相應轉換,隨後在目標庫中執行該語句,以實現將增量資料即時同步至目標庫。 |
同步拓撲
DTS支援兩種核心的資料同步拓撲結構。更多資訊,請參見資料同步拓撲介紹。
同步拓撲 | 說明 | 適用情境 |
單向同步 | 資料從一個源庫單向流向一個或多個目標庫。 | 資料拆分或擴容、查詢報表分流與構建即時數倉等。 |
雙向同步 | 資料在兩個資料庫之間雙向流動,任意一方的變更都會同步給對方。 | 異地多活、異地災備與跨境同步等。 |
雙向同步包含正向和反向同步任務,在配置或重設雙向同步任務時,DTS為保證資料不迴圈,有嚴格限制:
初始化規則:僅允許一個方向的任務(例如A→B)執行庫表結構同步和全量同步。另一個方向的任務(B→A)只能配置增量同步處理。
避免資料環路:從A同步到B的資料,不會再作為B的來源資料同步回A。
重設風險:若您需要重設其中一個任務(例如正向任務)並進行重新設定,建議同時重設正向和反向兩個任務,然後重新設定任務。否則,在正向任務進行庫表結構同步和全量同步階段時,系統將自動移除反向任務中已配置的同步對象,從而將導致雙向同步任務的結果不符合預期。
使用限制
配置前,請確認環境和業務情境滿足以下條件。
通用限制
限制項 | 說明 |
網路設定 |
|
業務負載 |
|
其他限制
跨帳號同步:是否支援建立跨帳號同步任務,取決於具體的資料庫類型和接入方式。詳情參見配置跨阿里雲帳號的任務。
跨境資料同步:該功能未預設開放。需先提交申請跨境資料同步許可權並通過審核後方可使用。
常見問題
附錄:同步鏈路支援矩陣
下述匯總了DTS支援的各類資料庫同步鏈路。開始配置前,可快速確認源庫和目標庫組合是否受支援。請在頁面右側的本頁導讀中,單擊相應的源庫同步方案,以快速定位到對應地區,來查看支援的版本、同步類型和配置步驟。
源為自建MySQL或RDS MySQL
PolarDB-X 1.0中的資料庫須基於RDS MySQL建立,DTS暫不支援基於PolarDB MySQL版建立的資料庫。
PolarDB-X 1.0為目標時不支援結構同步以及結構初始化,PolarDB-X 2.0為目標時均支援。
PolarDB-X 2.0執行個體的版本建議為5.4.11及以上,升級方式請參見查看和升級執行個體版本。
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
|
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 雙向同步 | |
PolarDB MySQL版 所有版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 雙向同步 | ||
Oracle(RAC或非RAC架構) 版本為9i、10g、11g、12c、18c、19c | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
PolarDB-X 1.0 | 全量資料同步 增量資料同步 | 單向同步 | ||
PolarDB-X 2.0 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
AnalyticDB for MySQL 2.0、3.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
AnalyticDB for 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版本 | 全量資料同步 增量資料同步 | 單向同步 | ||
Table Store(Tablestore) | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
Function ComputeFC 2.0版本 | 全量資料同步 增量資料同步 | 單向同步 | ||
雲資料庫SelectDB版 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
雲原生多模資料庫Lindorm | 全量資料同步 增量資料同步 | 單向同步 | ||
Doris 1.2及以上版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
雲訊息佇列 RocketMQ 版 4.x和5.x系列 | 全量資料同步 增量資料同步 | 單向同步 |
源為PolarDB MySQL版
PolarDB-X 1.0中的資料庫須基於RDS MySQL建立,DTS暫不支援基於PolarDB MySQL版建立的資料庫。
PolarDB-X 1.0為目標時不支援結構同步以及結構初始化,PolarDB-X 2.0為目標時均支援。
PolarDB-X 2.0執行個體的版本建議為5.4.11及以上,升級方式請參見查看和升級執行個體版本。
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
PolarDB MySQL版 所有版本 | PolarDB MySQL版 所有版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 雙向同步 | |
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 雙向同步 | ||
PolarDB-X 1.0 | 全量資料同步 增量資料同步 | 單向同步 | ||
PolarDB-X 2.0 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
AnalyticDB for MySQL 2.0、3.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
AnalyticDB for 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、17版本 |
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 雙向同步 | |
PolarDB PostgreSQL版 11、14、15、16、17版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 雙向同步 | ||
AnalyticDB for PostgreSQL 4.3、6.0、7.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
雲資料庫SelectDB版 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 |
源為PolarDB-X
PolarDB-X 1.0中的資料庫須基於RDS MySQL建立,DTS暫不支援基於PolarDB MySQL版建立的資料庫。
PolarDB-X 1.0為目標時不支援結構同步以及結構初始化,PolarDB-X 2.0為目標時均支援。
PolarDB-X 2.0執行個體的版本建議為5.4.11及以上,升級方式請參見查看和升級執行個體版本。
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
PolarDB-X 1.0 | PolarDB-X 1.0 | 全量資料同步 增量資料同步 | 單向同步 | |
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
PolarDB MySQL版 所有版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
AnalyticDB for MySQL 3.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
DataHub | 庫表結構同步 增量資料同步 | 單向同步 | ||
AnalyticDB for 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 for MySQL 3.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
DataHub | 庫表結構同步 增量資料同步 | 單向同步 | ||
MaxCompute | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
AnalyticDB for 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 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
Table Store(Tablestore) | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
PolarDB-X 1.0 | 全量資料同步 增量資料同步 | 單向同步 | ||
雲資料庫SelectDB版 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 |
源為PolarDB PostgreSQL版(相容Oracle)
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
PolarDB PostgreSQL版(相容Oracle) 所有版本 | PolarDB PostgreSQL版(相容Oracle) 所有版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 雙向同步 | |
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
AnalyticDB for MySQL 3.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | PolarDB PostgreSQL版(相容Oracle)叢集同步至雲原生資料倉儲 AnalyticDB MySQL 版 3.0 |
源為Oracle
僅支援在新版控制台配置。
建議目標PolarDB-X 2.0執行個體的版本為5.4.11及以上,升級方式請參見查看和升級執行個體版本。
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
自建Oracle(RAC或非RAC架構) 9i、10g、11g、12c、18c、19c版本 | AnalyticDB for 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版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 |
源為自建PostgreSQL或RDS PostgreSQL
源庫暫不支援RDS PostgreSQL Serverless執行個體,目標庫支援。
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
|
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 雙向同步 | |
PolarDB PostgreSQL版 11、14、15、16、17版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 雙向同步 | ||
AnalyticDB for PostgreSQL 4.3、6.0、7.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
PolarDB PostgreSQL版(相容Oracle) 所有版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
雲資料庫SelectDB版 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 |
源為自建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、2008 R2版本。
在混合式日誌解析模式下(即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 for MySQL 3.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
AnalyticDB for PostgreSQL 4.3、6.0、7.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
RDS PostgreSQL 9.4、10、11、12、13、14、15、16、17版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
DataHub | 庫表結構同步 增量資料同步 | 單向同步 |
源為MariaDB
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
|
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | |
RDS MySQL | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ||
RDS PostgreSQL 9.4、10、11、12、13、14、15、16、17版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 |
源為自建MongoDB或ApsaraDB for MongoDB
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
複本集架構
| 複本集或分區叢集架構
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ApsaraDB for MongoDB(複本集架構)同步至ApsaraDB for MongoDB(複本集架構或分區叢集架構) |
分區叢集架構
| 複本集或分區叢集架構
| 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | ApsaraDB for MongoDB(分區叢集架構)同步至ApsaraDB for MongoDB(複本集架構或分區叢集架構) |
ApsaraDB for MongoDB(分區叢集架構) 4.0、4.2、4.4、5.0、6.0、7.0版本 | ApsaraDB for MongoDB(分區叢集架構) 4.0、4.2、4.4、5.0、6.0、7.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 雙向同步 | |
ApsaraDB for MongoDB(複本集架構) 4.0、4.2、4.4、5.0、6.0、7.0版本 | ApsaraDB for MongoDB(複本集架構) 4.0、4.2、4.4、5.0、6.0、7.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 雙向同步 | |
複本集或分區叢集架構
| Function ComputeFC 2.0版本 | 增量資料同步 | 單向同步 | |
雲原生多模資料庫Lindorm | 全量資料同步 增量資料同步 | 單向同步 | ||
AnalyticDB for PostgreSQL 4.3、6.0、7.0 | 全量資料同步 增量資料同步 | 單向同步 | ||
雲原生資料倉儲AnalyticDB MySQL版 3.0 | 全量資料同步 增量資料同步 | 單向同步 | ||
| 全量資料同步 增量資料同步 | 單向同步 | ||
PolarDB MySQL版 所有版本 | 全量資料同步 增量資料同步 | 單向同步 | ||
| 全量資料同步 增量資料同步 | 單向同步 |
源為自建Redis或雲資料庫Tair(相容Redis)
Redis屬於NoSQL資料庫,無需庫表結構同步。
僅支援Tair(企業版)執行個體間的雙向同步。
源庫為自建Redis或雲資料庫Tair(相容Redis)執行個體時,支援全量資料同步和增量資料同步,合并顯示為增量同步處理。
最高支援11版本的RDB(對應於Redis 7.2)。
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
|
| 全量資料同步 增量資料同步 | 單向同步 | |
雲資料庫Tair(相容Redis)企業版/Tair執行個體(叢集架構、標準架構或讀寫分離架構) | 雲資料庫Tair(相容Redis)企業版/Tair執行個體(叢集架構、標準架構或讀寫分離架構) | 全量資料同步 增量資料同步 | 雙向同步 |
源為TiDB
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
TiDB | AnalyticDB for MySQL 3.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | |
PolarDB-X 2.0 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | 文檔準備中 |
源為Db2 for LUW
Db2 for LUW在控制台顯示為DB2 LUW。
建議目標PolarDB-X 2.0執行個體的版本為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 for 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版 所有版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | 文檔準備中 |
源為AnalyticDB MySQL 3.0
源AnalyticDB MySQL版 3.0叢集的核心版本需為3.2.1.0或以上版本。
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
AnalyticDB for MySQL 3.0版本 | AnalyticDB for MySQL 3.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 |
源為AnalyticDB PostgreSQL版
源AnalyticDB PostgreSQL版執行個體的核心版本需為7.2.1.4或以上版本。
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
AnalyticDB PostgreSQL版 7.0版本 | AnalyticDB PostgreSQL版 7.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 | |
AnalyticDB PostgreSQL版 7.0版本 | 阿里雲訊息佇列Kafka版 0.10.1.0~2.x版本 | 全量資料同步 增量資料同步 | 單向同步 |
源為Data Management邏輯庫
DMS邏輯庫需基於多個PolarDB MySQL版執行個體的分庫建立。
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
Data Management邏輯庫 | AnalyticDB for MySQL 3.0版本 | 庫表結構同步 全量資料同步 增量資料同步 | 單向同步 |
源為AWS平台資料庫
源庫 | 目標庫 | 同步類型 | 同步拓撲 | 配置文檔 |
AWS平台資料庫 | 以控制台為準 | |||