本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
數據傳輸服務DTS(Data Transmission Service)支持將RDS SQL Server同步至云原生數據倉庫AnalyticDB MySQL版 3.0,幫助您輕松實現數據的傳輸,用于實時數據分析。
前提條件
已創建源RDS SQL Server實例,支持的版本,請參見同步方案概覽。創建方式,請參見快速創建并使用RDS SQL Server實例。
重要在混合式日志解析模式下(即SQLServer增量同步模式為非堆表用日志解析增量同步,堆表用CDC增量同步的實例),支持的源庫有:
Enterprise或Enterprise Evaluation版:2012、2014、2016、2019或2022版本。
Standard版:2016、2019或2022版本。
已創建目標云原生數據倉庫AnalyticDB MySQL版 3.0集群,詳情請參見創建集群。
目標云原生數據倉庫AnalyticDB MySQL版 3.0集群的存儲空間須大于源RDS SQL Server實例的存儲空間。
若源實例存在如下任一情況,建議拆分為多個同步任務。
數據庫超過10個。
單個數據庫執行日志備份操作的頻率超過1次/小時。
單個數據庫執行DDL操作的頻率超過100條/小時。
單個數據庫的日志量超過20 MB/s。
需要開啟CDC(Change Data Capture,變更數據捕獲)的表超過1000個。
注意事項
在庫表結構同步過程中,DTS會將源數據庫中的外鍵同步到目標數據庫。
在全量同步和增量同步過程中,DTS會以Session級別暫時禁用約束檢查以及外鍵級聯操作。若任務運行時源庫存在級聯更新、刪除操作,可能會導致數據不一致。
類型 | 說明 |
源庫限制 |
|
其他限制 |
|
特殊情況 | 源實例為RDS SQL Server時,DTS會在源RDS SQL Server實例中創建一個 |
費用說明
同步類型 | 鏈路配置費用 |
庫表結構同步和全量數據同步 | 不收費。 |
增量數據同步 | 收費,詳情請參見計費概述。 |
支持的同步架構
一對一單向同步
一對多單向同步
級聯單向同步
多對一單向同步
關于各類同步架構的介紹及注意事項,請參見數據同步拓撲介紹。
支持同步的SQL操作
操作類型 | SQL操作語句 |
DML | INSERT、UPDATE、DELETE 說明
|
DDL |
說明
|
操作步驟
進入目標地域的同步任務列表頁面(二選一)。
通過DTS控制臺進入
登錄數據傳輸服務DTS控制臺。
在左側導航欄,單擊數據同步。
在頁面左上角,選擇同步實例所屬地域。
通過DMS控制臺進入
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多信息,請參見極簡模式控制臺和自定義DMS界面布局與樣式。
登錄DMS數據管理服務。
在頂部菜單欄中,選擇
。在同步任務右側,選擇同步實例所屬地域。
單擊創建任務,進入任務配置頁面。
可選:在頁面右上角,單擊試用新版配置頁。
說明若您已進入新版配置頁(頁面右上角的按鈕為返回舊版配置頁),則無需執行此操作。
新版配置頁和舊版配置頁部分參數有差異,建議使用新版配置頁。
配置源庫及目標庫信息。
警告選擇源和目標實例后,建議您仔細閱讀頁面上方顯示的使用限制,否則可能會導致任務失敗或數據不一致。
類別
配置
說明
無
任務名稱
DTS會自動生成一個任務名稱,建議配置具有業務意義的名稱(無唯一性要求),便于后續識別。
源庫信息
選擇已有的DMS數據庫實例(可選,如未創建可忽略此處選擇,直接在下方配置數據庫信息即可)
您可以按實際需求,選擇是否使用已有實例。
如使用已有實例,下方數據庫信息將自動填入,您無需重復輸入。
如不使用已有實例,您需要輸入下方的數據庫信息。
數據庫類型
選擇SQL Server。
接入方式
選擇云實例。
實例地區
選擇源RDS SQL Server實例所屬地域。
是否跨阿里云賬號
本示例為同一阿里云賬號間的同步,選擇不跨賬號。
RDS實例ID
選擇源RDS SQL Server實例ID。
數據庫賬號
填入源RDS SQL Server實例的數據庫賬號,需具備待同步對象的所有者權限。
數據庫密碼
填入該數據庫賬號對應的密碼。
連接方式
請根據實際情況選擇非加密連接或SSL安全連接。
若源庫未開啟SSL加密,請選擇非加密連接。
若源庫已開啟SSL加密,請選擇SSL安全連接,DTS默認信任服務端證書。
目標庫信息
選擇已有的DMS數據庫實例(可選,如未創建可忽略此處選擇,直接在下方配置數據庫信息即可)
您可以按實際需求,選擇是否使用已有實例。
如使用已有實例,下方數據庫信息將自動填入,您無需重復輸入。
如不使用已有實例,您需要輸入下方的數據庫信息。
數據庫類型
選擇AnalyticDB MySQL 3.0。
接入方式
選擇云實例。
實例地區
選擇目標云原生數據倉庫AnalyticDB MySQL版 3.0集群所屬地域。
實例ID
選擇目標云原生數據倉庫AnalyticDB MySQL版 3.0集群ID。
數據庫賬號
填入目標云原生數據倉庫AnalyticDB MySQL版 3.0集群的數據庫賬號,需具備讀寫權限。
數據庫密碼
填入該數據庫賬號對應的密碼。
配置完成后,單擊頁面下方的測試連接以進行下一步。
如果源或目標數據庫是阿里云數據庫實例(例如RDS MySQL、云數據庫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網關/智能網關)的方式接入。
配置任務對象及高級配置。
配置
說明
同步類型
固定選中增量同步。默認情況下,您還需要同時選中庫表結構同步和全量同步。預檢查完成后,DTS會將源實例中待同步對象的全量數據在目標集群中初始化,作為后續增量同步數據的基線數據。
說明若選中了全量同步,則執行了CREATE TABLE語句的待同步表(表結構和表數據)支持同步至目標庫。
目標已存在表的處理模式
預檢查并報錯攔截:檢查目標數據庫中是否有同名的表。如果目標數據庫中沒有同名的表,則通過該檢查項目;如果目標數據庫中有同名的表,則在預檢查階段提示錯誤,數據同步任務不會被啟動。
說明如果目標庫中同名的表不方便刪除或重命名,您可以更改該表在目標庫中的名稱,請參見庫表列名映射。
忽略報錯并繼續執行:跳過目標數據庫中是否有同名表的檢查項。
警告選擇為忽略報錯并繼續執行,可能導致數據不一致,給業務帶來風險,例如:
表結構一致的情況下,如在目標庫遇到與源庫主鍵或唯一鍵的值相同的記錄:
全量期間,DTS會保留目標集群中的該條記錄,即源庫中的該條記錄不會同步至目標數據庫中。
增量期間,DTS不會保留目標集群中的該條記錄,即源庫中的該條記錄會覆蓋至目標數據庫中。
表結構不一致的情況下,可能會導致無法初始化數據、只能同步部分列的數據或同步失敗,請謹慎操作。
源庫和目標庫結構映射模式
根據業務需求,選擇結構映射模式,以實現源庫和目標庫之間的結構映射。
警告如您選擇不使用源庫的Schema名稱,則源庫多個Schema中不允許有名稱相同的table,否則可能會導致數據不一致或任務失敗。
SQLServer增量同步模式
非堆表用日志解析增量同步,堆表用CDC增量同步(混合式日志解析):
優點:
支持源庫堆表、無主鍵表、壓縮表、含計算列表等場景。
鏈路穩定性較高。能拿到完整的DDL語句,DDL場景支持豐富。
缺點:
DTS會在源庫中創建觸發器dts_cdc_sync_ddl、心跳表dts_sync_progress、DDL存儲表dts_cdc_ddl_history以及會開啟庫級別CDC和部分表CDC。
不支持在源庫對開啟CDC的表執行SELECT INTO和TRUNCATE語句,DTS在源庫中創建的觸發器不允許手動刪除。
解析源庫日志做增量同步(不支持堆表):
優點:
對源庫無侵入。
缺點:
不支持源庫堆表、無主鍵表、壓縮表、含計算列表等場景。
輪詢查詢CDC實例做增量同步:
優點:
源庫為Amazon RDS for SQL Server、Azure SQL Database、Azure SQL Managed Instance、Azure SQL Server on Virtual Machine、Google Cloud SQL for SQL Server時支持全量和增量同步。
使用SQL Server原生CDC組件獲取增量數據,增量同步更加穩定,占用的網絡帶寬更少。
缺點:
DTS實例使用的源庫賬號需具備開啟CDC的權限,且增量數據同步約有10秒的延遲。
在同步多庫多表的場景,可能會有穩定性和性能問題的風險。
實例級別選擇所需同步的DDL和DML
按實例級別選擇同步的SQL操作,支持的同步操作,請參見支持同步的SQL操作。
說明如需按庫或表級別選擇同步的SQL操作,請在已選擇對象中右擊同步對象,在彈跳框中勾選所需同步的SQL操作。
源庫對象
在源庫對象框中單擊待同步對象,然后單擊將其移動至已選擇對象框。
說明本場景為異構數據庫間同步,因此同步對象選擇的粒度為表,且其他對象(如視圖、觸發器、存儲過程)不會被同步至目標庫。
已選擇對象
如需更改單個同步對象在目標實例中的名稱,請右擊已選擇對象中的同步對象,設置方式,請參見庫表列名單個映射。
如需批量更改同步對象在目標實例中的名稱,請單擊已選擇對象方框右上方的批量編輯,設置方式,請參見庫表列名批量映射。
說明如需按庫或表級別選擇同步的SQL操作,請在已選擇對象中右擊待同步對象,并在彈出的對話框中選擇所需同步的SQL操作。支持的操作,請參見支持同步的SQL操作。
如需設置WHERE條件過濾數據,請在已選擇對象中右擊待同步的表,在彈出的對話框中設置過濾條件。設置方法請參見設置過濾條件。
如果使用了對象名映射功能,可能會導致依賴這個對象的其他對象同步失敗。
單擊下一步高級配置,進行高級配置。
數據校驗配置
若您需要使用數據校驗功能,配置方法請參見配置數據校驗。
高級配置
配置
說明
選擇調度該任務的專屬集群
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在設置的重試時間內相關操作執行成功,同步任務將自動恢復。否則,同步任務將會失敗。
重要源庫、目標庫出現其他問題后的重試時間的值需要小于源庫、目標庫無法連接后的重試時間的值。
是否限制全量遷移速率
在全量同步階段,DTS將占用源庫和目標庫一定的讀寫資源,可能會導致數據庫的負載上升。您可以根據實際情況,選擇是否對全量同步任務進行限速設置(設置每秒查詢源庫的速率QPS、每秒全量遷移的行數RPS和每秒全量遷移的數據量(MB)BPS),以緩解目標庫的壓力。
說明僅當同步類型選擇了全量同步時才可以配置。
是否限制增量同步速率
您也可以根據實際情況,選擇是否對增量同步任務進行限速設置(設置每秒增量同步的行數RPS和每秒增量同步的數據量(MB)BPS),以緩解目標庫的壓力。
環境標簽
您可以根據實際情況,選擇用于標識實例的環境標簽。本示例無需選擇。
配置ETL功能
選擇是否配置ETL功能。關于ETL的更多信息,請參見什么是ETL。
是:配置ETL功能,并在文本框中填寫數據處理語句,詳情請參見在DTS遷移或同步任務中配置ETL。
否:不配置ETL功能。
上述配置完成后,單擊頁面下方的下一步配置庫表字段,設置待同步的表在目標AnalyticDB MySQL版中的主鍵列和分布鍵信息。
說明若同步類型選擇了庫表結構同步,您需要定義待同步的表在云原生數據倉庫AnalyticDB MySQL版 3.0中的類型、主鍵列、分布鍵等信息,詳情請參見CREATE TABLE。
主鍵列可以是選擇多個列組成聯合主鍵,且需要從主鍵列中選擇1個或者多個列作為分布鍵。
保存任務并進行預檢查。
若您需要查看調用API接口配置該實例時的參數信息,請將鼠標光標移動至下一步保存任務并預檢查按鈕上,然后單擊氣泡中的預覽OpenAPI參數。
若您無需查看或已完成查看API參數,請單擊頁面下方的下一步保存任務并預檢查。
說明在同步作業正式啟動之前,會先進行預檢查。只有預檢查通過后,才能成功啟動同步作業。
如果預檢查失敗,請單擊失敗檢查項后的查看詳情,并根據提示修復后重新進行預檢查。
如果預檢查產生警告:
對于不可以忽略的檢查項,請單擊失敗檢查項后的查看詳情,并根據提示修復后重新進行預檢查。
對于可以忽略無需修復的檢查項,您可以依次單擊點擊確認告警詳情、確認屏蔽、確定、重新進行預檢查,跳過告警檢查項重新進行預檢查。如果選擇屏蔽告警檢查項,可能會導致數據不一致等問題,給業務帶來風險。
預檢查通過率顯示為100%時,單擊下一步購買。
購買實例。
在購買頁面,選擇數據同步實例的計費方式、鏈路規格,詳細說明請參見下表。
類別
參數
說明
信息配置
計費方式
預付費(包年包月):在新建實例時支付費用。適合長期需求,價格比按量付費更實惠,且購買時長越長,折扣越多。
后付費(按量付費):按小時扣費。適合短期需求,用完可立即釋放實例,節省費用。
資源組配置
實例所屬的資源組,默認為default resource group。更多信息,請參見什么是資源管理。
鏈路規格
DTS為您提供了不同性能的同步規格,同步鏈路規格的不同會影響同步速率,您可以根據業務場景進行選擇。更多信息,請參見數據同步鏈路規格說明。
訂購時長
在預付費模式下,選擇包年包月實例的時長和數量,包月可選擇1~9個月,包年可選擇1年、2年、3年和5年。
說明該選項僅在付費類型為預付費時出現。
配置完成后,閱讀并勾選《數據傳輸(按量付費)服務條款》。
單擊購買并啟動,并在彈出的確認對話框,單擊確定。
您可在數據同步界面查看具體任務進度。