Amazon-Rds

AWS DMS 持續複製如何在內部工作?

  • January 6, 2021

文件中提到“DMS 使用數據庫引擎的本機 API 收集對數據庫日誌的更改”並複製到目標。但是,我沒有看到任何地方,它以什麼速率從源複製到目標的記錄數,有什麼方法可以控制這個設置,或者我每次可以知道它複製了多少行?

您沒有在 AWS 的文件中找到有關複製率的任何具體資訊的原因是它主要取決於源數據庫。例如,在 Microsoft SQL Server 中,有一個名為Change Data Capture (CDC)的功能,可以實時記錄數據更改。這意味著 DMS 將收集自上次執行 DMS 以來源 Microsoft SQL Server 數據庫中的 CDC 表中的所有日誌。

其他數據庫系統可能會以較慢的速度記錄更改,因此從 AWS 的角度來看沒有一次答案。此外,我相信您也可以安排DMS 任務以自己的時間間隔執行。

但總的來說,AWS 的 DMS 工具的目標是複制自上次同步以來的所有更改。

當我使用 DMS 時,它與 SQL Server 複製一起工作。但一般規則是一樣的。DMS 不會讀取您的 CDC 表,它會讀取您從日誌文件或日誌備份中更改的數據。但是,它希望利用 CDC 或事務複製來實現它。

更多資訊 第 1 部分

對於 Microsoft SQL Server,AWS DMS 使用 MS-Replication 或 MS-CDC 將資訊寫入 SQL Server 事務日誌。然後它使用 SQL Server 中的 fn_dblog() 或 fn_dump_dblog() 函式根據日誌序列號 (LSN) 讀取事務日誌中的更改。

更多資訊 第 2 部分

在 CDC 期間,AWS DMS 需要查找 SQL Server 事務日誌備份以讀取更改。

有幾個選項,但僅適用於完整的數據載入。

在此處輸入圖像描述

此外,您可以使用任務監控跟踪數據更改- CDCIncomingChanges

CDCIncomingChanges 在某個時間點等待應用到目標的更改事件總數。請注意,這與測量源端點的事務更改率不同。此指標的大量數字通常表明 AWS DMS 無法及時應用擷取的更改,從而導致高目標延遲。

引用自:https://dba.stackexchange.com/questions/282632