全部產品
Search
文件中心

Data Transmission Service:配置資料校正

更新時間:Oct 15, 2024

本文介紹如何使用Data Transmission Service配置資料校正任務,協助您監控源庫與目標庫資料的差異。您可以在同步或遷移執行個體的高級配置階段選擇相應的數據校正方式,以便及時探索資料不一致的問題。

注意事項

  • 傳統網路的資料庫執行個體暫不支援增量資料校正功能。

  • 開啟多表歸併的執行個體暫不支援資料校正功能。

  • 運行狀態已完成的執行個體暫不支援資料校正功能。

  • 若待校正的表為無主鍵且無唯一索引的表,則該表的資料超過10000行時DTS將不會進行資料校正。

  • 若待校正的資料既沒有主鍵約束也沒有唯一約束,則DTS將不會進行增量資料校正。

  • 若同步或遷移執行個體進行重啟操作(例如先暫停再啟動),則執行個體中的全量校正任務會重新開始校正。

  • 在執行校正任務前需評估源庫和目標庫的效能,同時建議您在業務低峰期執行資料校正(例如源庫和目標庫的CPU負載在30%以下)。因為DTS在進行資料校正時將佔用源庫和目標庫一定的讀資源,可能會導致資料庫的負載上升。在資料庫效能較差、規格較低或業務量較大的情況下,可能會加重資料庫壓力,甚至導致資料庫服務不可用。

  • 在同步或遷移執行個體中配置的校正任務,數據校正方式的可勾選項與同步類型遷移類型密切相關。

    例如,遷移執行個體的遷移類型只選擇了增量遷移,在配置數據校正方式時則只允許勾選增量校正

  • 增量校正任務僅支援校正增量同步處理或增量遷移任務中變更的資料,不支援校正手動在目標庫中變更的資料。

  • 在校正工作清單配置的校正任務,不支援增量校正。

  • 採用按行抽樣進行全字段校驗方式對MongoDB進行資料校正時,抽樣百分比預設為100%,且不支援修改。

  • 全量校正模式選擇了按行抽樣進行全字段校驗,則不建議同時使用ETL功能。否則,ETL功能修改後的資料會被校正為不一致資料。

  • 不支援校正物化視圖。

  • 在全量校正過程中,若單張表中存在差異的資料超過100000行,DTS將終止對該表的校正。請在差異資料量減少後,重新對該表進行校正。

支援的地區

支援的地區,請參見支援的地區列表

支援的鏈路

說明
  • 源庫和目標庫間的雙向同步鏈路也支援校正功能。

  • 源庫和目標庫支援阿里雲和自建資料庫執行個體。

資料校正方式

源庫

目標庫

全量校正

MySQL

MySQL、AnalyticDB MySQL、PolarDB MySQL版、PostgreSQL、AnalyticDB PostgreSQL版、Oracle

PolarDB MySQL版

MySQL、AnalyticDB MySQL、PolarDB MySQL版AnalyticDB PostgreSQL版、Oracle

PostgreSQL

MySQL、PostgreSQL、AnalyticDB PostgreSQL版PolarDB PostgreSQL版PolarDB PostgreSQL版(相容Oracle)、Oracle

PolarDB PostgreSQL版

MySQL、PostgreSQL、AnalyticDB PostgreSQL版PolarDB PostgreSQL版、Oracle

單節點架構的MongoDB

單節點架構的MongoDB

複本集架構的MongoDB

複本集架構的MongoDB

分區叢集架構的MongoDB

分區叢集架構的MongoDB

主從複製叢集架構的Tair/Redis

主從複製叢集架構的Tair/Redis

Redis Cluster叢集架構的Tair/Redis

Redis Cluster叢集架構的Tair/Redis

SQL Server

MySQL、AnalyticDB MySQL、PolarDB MySQL版、SQL Server、AnalyticDB PostgreSQL版

Oracle

AnalyticDB MySQL、AnalyticDB PostgreSQL版、MySQL、PolarDB MySQL版PolarDB PostgreSQL版PolarDB PostgreSQL版(相容Oracle)、PostgreSQL、Oracle

PolarDB PostgreSQL版(相容Oracle)

PolarDB PostgreSQL版(相容Oracle)、AnalyticDB MySQL、Oracle

Db2 for LUW

MySQL、PolarDB MySQL版、AnalyticDB MySQL、AnalyticDB PostgreSQL版

Db2 for i(AS/400)

MySQL

TiDB

MySQL、PolarDB MySQL版、AnalyticDB MySQL

增量校正

MySQL

MySQL、AnalyticDB MySQL、PolarDB MySQL版、PostgreSQL、AnalyticDB PostgreSQL版PolarDB PostgreSQL版

PolarDB MySQL版

MySQL、AnalyticDB MySQL、PolarDB MySQL版AnalyticDB PostgreSQL版

PostgreSQL

MySQL、PostgreSQL、AnalyticDB PostgreSQL版PolarDB PostgreSQL版

PolarDB PostgreSQL版

PostgreSQL、AnalyticDB PostgreSQL版PolarDB PostgreSQL版

單節點架構的MongoDB

單節點架構的MongoDB

複本集架構的MongoDB

複本集架構的MongoDB

分區叢集架構的MongoDB

分區叢集架構的MongoDB

SQL Server

MySQL、AnalyticDB MySQL、PolarDB MySQL版、SQL Server、AnalyticDB PostgreSQL版

Oracle

AnalyticDB MySQL、MySQL、PolarDB MySQL版PolarDB PostgreSQL版(相容Oracle)

結構校正

MySQL

MySQL、PolarDB MySQL版

PolarDB MySQL版

MySQL、PolarDB MySQL版

PostgreSQL

PostgreSQL、PolarDB PostgreSQL版

PolarDB PostgreSQL版

PostgreSQL、PolarDB PostgreSQL版

在校正工作清單配置校正任務

  1. 進入校正任務的列表頁面。

    1. 登入Data Management服務

    2. 在頂部功能表列中,單擊整合與開發

    3. 在左側導覽列,選擇資料轉送(DTS) > 資料校正

  2. 進入校正任務的配置頁面(二選一)。

    • 已購買校正任務(先購買再配置):找到目標任務,單擊操作列的配置任務

      購買方法,請參見購買資料校正任務

    • 未購買校正任務(先配置再購買):單擊創建任務

  3. 參考同步方案概覽遷移方案概覽中的相關配置文檔,配置源庫及目標庫資訊。

    說明
    • 先購買再配置任務的執行個體地區不支援修改。

    • 若源庫為分區叢集架構的MongoDB,則無需準備Shard賬號Shard密碼

  4. 配置完成後,單擊頁面下方的測試連接以進行下一步

    如果源或目標資料庫是阿里雲資料庫執行個體(例如RDS MySQLApsaraDB for MongoDB等),DTS會自動將對應地區DTS服務的IP地址添加到阿里雲資料庫執行個體的白名單中;如果源或目標資料庫是ECS上的自建資料庫,DTS會自動將對應地區DTS服務的IP地址添加到ECS的安全規則中,您還需確保自建資料庫沒有限制ECS的訪問(若資料庫是叢集部署在多個ECS執行個體,您需要手動將DTS服務對應地區的IP地址添到其餘每個ECS的安全規則中);如果源或目標資料庫是IDC自建資料庫或其他雲資料庫,則需要您手動添加對應地區DTS服務的IP地址,以允許來自DTS伺服器的訪問。DTS服務的IP地址,請參見DTS伺服器的IP位址區段

    警告

    DTS自動添加或您手動添加DTS服務的公網IP位址區段可能會存在安全風險,一旦使用本產品代表您已理解和確認其中可能存在的安全風險,並且需要您做好基本的安全防護,包括但不限於加強帳號密碼強度防範、限制各網段開放的連接埠號碼、內部各API使用鑒權方式通訊、定期檢查並限制不需要的網段,或者使用通過內網(專線/VPN網關/智能網關)的方式接入。

  5. 設定數據校正方式

    根據業務需求勾選資料校正的方式,若您勾選了全量校正,您還需要設定如下表所示參數。

    說明
    • 全量校正:對全量任務中需要校正的資料進行校正。

    • 結構校正:對需要校正的對象進行結構校正。

    • 結構校正任務執行完成後,才會執行全量和增量校正任務。

    • 在校正工作清單配置的校正任務,不支援增量校正。

    參數

    說明

    全量校正模式

    • 按行抽樣進行全字段校驗:配置抽樣百分比,對抽中的資料進行全欄位校正,取值為10~100的整數。

    • 按錶行數進行校正:對全量任務資料的行數進行校正,不會對具體的資料內容進行校正。

    說明

    按錶行數進行校正的全量校正模式不收費;按行抽樣進行全字段校驗的全量校正模式按實際校正資料量收費。

    全量校正時間規則

    當前僅支援立即開始

    全量校正逾時設定

    • 不設定:全量校正任務逾時不會強制結束。

    • 設定:設定全量校正任務結束的延遲時間。在全量校正任務啟動後開始計時,若校正任務未在指定時間完成則強制結束。取值為1~72的整數。

    選擇校正基準

    • 預設:以源庫和目標庫的合集為基準,校正源庫和目標庫資料的一致性。

    • 源庫:以源庫為基準,校正目標庫與源庫資料的一致性(不校正目標庫比源庫多的資料)。

    • 目標庫:以目標庫為基準,校正源庫與目標庫資料的一致性(不校正源庫比目標庫多的資料)。

    每秒讀取的最大數據行數rps

    全量資料校正會佔用資料庫一定的讀取資源,您可以根據實際情況對全量校正任務進行限速設定(每秒讀取的資料行數和資料量),以緩解資料庫的壓力。

    說明

    參數值為0時表示無限制,當每秒讀取的最大數據行數rps每秒讀取最大的Byte數byte/s均為0時,表示不限速。

    每秒讀取最大的Byte數byte/s

  6. 設定校正對象

    1. 選擇源庫待校正的對象。

      源庫對象框中勾選需要進行資料校正的對象,然後單擊向右將其移動至已選擇對象框。

      說明

      僅當選擇校正對象的粒度為表時,支援設定目標庫表的表名稱列名稱

    2. 設定目標庫待校正的對象。

      1. 已選擇對象框中,右擊移動過來的Schema。

      2. 在彈出的編輯Schema對話方塊中,設定目標庫的Schema名稱,並單擊確定

      3. 已選擇對象框中,右擊移動過來的表。

      4. 在彈出的編輯表對話方塊中,設定目標庫表的表名稱

      5. 可選:地區的列名稱列,設定目標表的列名。

        說明

        您也可以取消選中全表同步,勾選需要校正的列。

      6. 設定完成後,單擊確定

    3. 可選:配置校正警示。

      若您數據校正方式勾選了全量校正,還可以根據業務需求配置全量校正警示

      參數

      說明

      全量校正警示

      • 不設定:不設定警示。

      • 設定:設定警示,您還需要選擇和配置警示規則。警示規則如下:

        • 當全量校正任務失敗時觸發警示。

        • 設定資料不一致的閾值,當全量校正任務不一致資料大於等於設定的閾值時觸發警示。

      重要

      若您設定了校正警示,且需要在校正任務觸發警示時接收警示通知,還需要前往CloudMonitor平台進行警示訊息訂閱設定。更多資訊,請參見通過CloudMonitor平台為DTS任務設定警示規則

  7. 單擊下一步高級配置,進行進階配置。

    配置

    說明

    選擇調度該任務的專屬叢集

    DTS預設將任務調度到共用叢集上,您無需選擇。您可以購買指定規格的專屬叢集來運行DTS任務,詳情請參見什麼是DTS專屬叢集

    源庫、目標庫無法串連後的重試時間

    在同步任務啟動後,若源庫或目標庫串連失敗則DTS會報錯,並會立即進行持續的重試串連,預設持續重試時間為720分鐘,您也可以在取值範圍(10~1440分鐘)內自訂重試時間,建議設定30分鐘以上。如果DTS在設定的重試時間內重新串連上源庫、目標庫,同步任務將自動回復。否則,同步任務將會失敗。

    說明
    • 針對同源或者同目標的多個DTS執行個體,如DTS執行個體A和DTS執行個體B,設定網路重試時間時A設定30分鐘,B設定60分鐘,則重試時間以低的30分鐘為準。

    • 由於串連重試期間,DTS將收取任務運行費用,建議您根據業務需要自訂重試時間,或者在源和目標庫執行個體釋放後儘快釋放DTS執行個體。

    源庫、目標庫出現其他問題後的重試時間

    在同步任務啟動後,若源庫或目標庫出現非串連性的其他問題(如DDL或DML執行異常),則DTS會報錯並會立即進行持續的重試操作,預設持續重試時間為10分鐘,您也可以在取值範圍(1~1440分鐘)內自訂重試時間,建議設定10分鐘以上。如果DTS在設定的重試時間內相關操作執行成功,同步任務將自動回復。否則,同步任務將會失敗。

    重要

    源庫、目標庫出現其他問題後的重試時間的值需要小於源庫、目標庫無法串連後的重試時間的值。

    環境標籤

    非必選項,您可以根據實際情況,選擇用於標識執行個體的環境標籤。

  8. 儲存任務並進行預檢查。

    • 若您需要查看調用API介面配置該執行個體時的參數資訊,請將滑鼠游標移動至下一步儲存任務並預檢查按鈕上,然後單擊氣泡中的預覽OpenAPI參數

    • 若您無需查看或已完成查看API參數,請單擊頁面下方的下一步儲存任務並預檢查

    說明
    • 在校正任務正式啟動之前,會先進行預檢查。只有預檢查通過後,才能成功啟動校正任務。

    • 如果預檢查失敗,請單擊失敗檢查項後的查看詳情,並根據提示修複後重新進行預檢查。

    • 如果預檢查產生警告:

      • 對於不可以忽略的檢查項,請單擊失敗檢查項後的查看詳情,並根據提示修複後重新進行預檢查。

      • 對於可以忽略無需修複的檢查項,您可以依次單擊點擊確認警示詳情確認屏蔽確定重新進行預檢查,跳過警示檢查項重新進行預檢查。如果選擇屏蔽警示檢查項,可能會導致資料不一致等問題,給業務帶來風險。

  9. 查看資料校正任務進度。

    • 已購買校正任務(先購買再配置):預檢查通過率顯示為100%時,單擊返回列表

    • 未購買校正任務(先配置再購買):預檢查通過率顯示為100%時,依次單擊下一步購買、閱讀並勾選《數據傳輸(隨用隨付)服務條款》、單擊購買並啟動、單擊確定

在DTS同步或遷移執行個體中配置資料校正

  1. 進入數據校正頁面。

    說明

    若您使用的是舊版配置頁,則需要進入高級配置頁面。

    • 新建立的DTS執行個體:進入方法,請參見同步方案概覽遷移方案概覽中的相關配置文檔。

    • 已建立完成的DTS執行個體:

      1. 進入同步或遷移工作清單頁面。

      2. 單擊目標執行個體ID。

      3. 基本資料任務管理頁面中單擊建立校正任務

  2. 設定數據校正方式

    根據業務需求勾選資料校正的方式,若您勾選了全量校正,您還需要設定如下表所示參數。

    說明
    • 全量校正:對全量任務中需要校正的資料進行校正。若執行個體不包含增量任務,則執行個體建立成功後且全量資料寫入完成時開始校正;若執行個體包含增量任務,則執行個體建立成功且增量資料寫入首次無延遲時開始校正。

    • 增量校正:對增量任務的資料進行校正,執行個體建立成功後且增量資料寫入首次無延遲時開始校正。

    • 結構校正:對需要校正的對象進行結構校正。若執行個體不包含增量任務,則執行個體建立成功後且庫表結構和全量資料寫入完成時開始校正;若執行個體包含增量任務,則執行個體建立成功後且增量資料寫入首次無延遲時開始校正。

    • 結構校正任務執行完成後,才會執行全量和增量校正任務。

    參數

    說明

    全量校正模式

    • 按行抽樣進行全字段校驗:配置抽樣百分比,對抽中的資料進行全欄位校正,取值為10~100的整數。

    • 按錶行數進行校正:對全量任務資料的行數進行校正,不會對具體的資料內容進行校正。

    說明

    按錶行數進行校正的全量校正模式不收費;按行抽樣進行全字段校驗的全量校正模式按實際校正資料量收費。

    全量校正時間規則

    當前僅支援立即開始

    全量校正逾時設定

    • 不設定:全量校正任務逾時不會強制結束。

    • 設定:設定全量校正任務結束的延遲時間。在全量校正任務啟動後開始計時,若校正任務未在指定時間完成則強制結束。取值為1~72的整數。

    選擇校正基準

    • 預設:以源庫和目標庫的合集為基準,校正源庫和目標庫資料的一致性。

    • 源庫:以源庫為基準,校正目標庫與源庫資料的一致性(不校正目標庫比源庫多的資料)。

    • 目標庫:以目標庫為基準,校正源庫與目標庫資料的一致性(不校正源庫比目標庫多的資料)。

    每秒讀取的最大數據行數rps

    全量資料校正會佔用資料庫一定的讀取資源,您可以根據實際情況對全量校正任務進行限速設定(每秒讀取的資料行數和資料量),以緩解資料庫的壓力。

    說明

    參數值為0時表示無限制,當每秒讀取的最大數據行數rps每秒讀取最大的Byte數byte/s均為0時,表示不限速。

    每秒讀取最大的Byte數byte/s

  3. 設定校正對象

    您可以在已選擇對象框中勾選不需要進行資料校正的對象,然後單擊移除進行移除。

    說明

    DTS預設已將待同步或遷移的對象移動至已選擇對象框。

  4. 配置校正警示。

    根據業務需求,選擇配置如下表所示參數。

    參數

    說明

    全量校正警示

    • 不設定:不設定警示。

    • 設定:設定警示,您還需要選擇和配置警示規則。警示規則如下:

      • 當全量校正任務失敗時觸發警示。

      • 設定資料不一致的閾值,當全量校正任務不一致資料大於等於設定的閾值時觸發警示。

    增量校正警示

    • 不設定:不設定警示。

    • 設定:設定警示,您還需要選擇和配置警示規則。警示規則如下:

      • 當增量校正任務失敗時觸發警示。

      • 設定資料不一致的周期數、統計周期和不一致數量閾值,當增量校正任務累計在設定的若干個周期,資料不一致記錄量均大於等於設定的閾值時觸發警示。

      • 設定資料延遲的周期數、統計周期和延遲時間閾值,當增量校正任務累計在設定的若干個周期,延遲均大於等於設定的閾值時觸發警示。

    重要

    若您設定了校正警示,且需要在校正任務觸發警示時接收警示通知,還需要前往CloudMonitor平台進行警示訊息訂閱設定。更多資訊,請參見通過CloudMonitor平台為DTS任務設定警示規則

  5. 根據提示及相關配置文檔,完成後續配置。

相關API

API介面

說明

ConfigureDtsJob

配置資料校正任務。

常見問題

  • 使用映射功能修改的庫、表、列名,是否會被校正為不一致資料?

    資料校正已適配資料庫和表的映射功能。若使用映射功能修改了庫、表、列名,其中僅列名會被校正為不一致資料,資料庫名和表名則不會。

  • 為什麼在DTS執行個體中無法勾選校正方式?

    可能是當前執行個體不支援相應的資料校正功能,或者在配置任務對象及高級配置階段未選擇相應的同步類型遷移類型

  • 使用過濾條件功能過濾的資料,是否會被校正為不一致資料?

    • 全量校正:否,全量資料校正已適配過濾條件功能。

    • 增量校正:否,增量資料校正已適配過濾條件功能(源庫資料庫類型MongoDB的增量任務不支援過濾條件功能)。