技術架構和功能原理
更新時間 2023-08-29 09:31:06
最近更新時間: 2023-08-29 09:31:06
分享文章
本頁為您介紹數據傳輸服務的技術架構和功能原理。
DTS技術架構
天翼云DTS系統技術架構圖如下所示:



DTS功能原理
數據遷移
DTS數據遷移提供多種遷移類型:結構對象遷移、全量數據遷移及增量數據遷移。如果需要實現不停服務遷移,需要同時選擇結構對象遷移、全量數據遷移和增量數據遷移。
全量數據遷移過程可能會持續較久,在這過程中,源實例不斷有業務寫入,為保證遷移數據的一致性,在全量數據遷移之前,會記錄當前源實例的日志位點,存儲在本地數據庫中。
當全量數據遷移完成后,DTS會啟動增量日志回放模塊,增量日志回放模塊會從增量日志讀取模塊中獲取增量數據,經過反解析、過濾、封裝后遷移到目標實例,從而實現增量數據遷移。

數據同步
DTS數據同步功能能夠實現兩個數據源之間的增量數據實時同步。
同步鏈路創建過程
- 同步初始化
將源實例的歷史存量數據在目標實例初始化一份。 - 增量數據實時同步
當初始化完成后進入兩邊增量數據實時同步階段,該階段DTS將實現源實例和目標實例的數據動態同步。
增量數據實時同步的底層實現
在增量數據實時同步過程中,DTS的底層實現模塊主要包括:
- 日志讀取模塊
日志讀取模塊從源實例讀取原始數據,經過解析、過濾及標準格式化,最終將數據在本地持久化。日志讀取模塊通過數據庫協議連接并讀取源實例的增量日志。如果源數據庫為RDS MySQL,那么數據抓取模塊通過Binlog dump協議連接源庫。 - 日志回放模塊
日志回放模塊從日志讀取模塊中請求增量數據,并根據用戶配置的同步對象進行數據過濾,然后在保證事務時序性及事務一致性的前提下,將日志記錄同步到目標實例。
