實時同步PolarDB的數據至Hologres時,來源數據源為PolarDB,去向數據源為Hologres,執行同步任務前,您需要參考本文在數據源中配置好網絡、白名單等配置,為后續的數據同步做好網絡環境和賬號權限的準備。
前提條件
在進行數據源配置前,請確保已完成以下規劃與準備工作。
- 數據源準備:已購買來源數據源PolarDB MySQL、去向數據源Hologres。本文以阿里云PolarDB MySQL作為來源數據源進行示例。
- 資源規劃與準備:已購買獨享數據集成資源組,并完成資源配置。詳情可參見資源規劃與配置。
- 網絡環境評估與規劃:進行數據集成前,您需根據業務情況,打通數據源、獨享數據集成資源組之間的網絡,網絡聯通后參考本文進行交換機、白名單等網絡環境下的訪問配置。
- 如果數據源和獨享數據集成資源組均處于同地域的同一VPC網絡中,數據源與資源組間的網絡天然聯通。
- 如果數據源和獨享數據集成資源組均處于不同的網絡環境中,您需要通過VPN網關等方式,將數據源與資源組間的網絡打通。
背景信息
將來源數據源的數據同步至去向數據源時,您需要保障數據源與DataWorks的數據集成資源組在網絡上是聯通的,且不存在賬號權限的訪問限制。
- 網絡白名單以下以使用同一VPC網絡環境為例,您需要將數據集成資源組所在的VPC網段添加至白名單中,保障數據集成資源組可訪問數據源。
- 賬號權限
您需要規劃一個可訪問數據源的賬號,用于后續數據集成過程中訪問數據源并進行數據提取、寫入的同步操作。
- 其他訪問限制。
來源數據源為阿里云PolarDB MySQL時,您需要開啟Binlog。阿里云PolarDB MySQL是一款完全兼容MySQL的云原生數據庫,默認使用了更高級別的物理日志代替Binlog,但為了更好地與MySQL生態融合,PolarDB支持開啟Binlog的功能。
使用限制
- 目前僅支持使用同步方案同步PolarDB MySQL類型的數據源,不支持同步其他類型的PolarDB數據源。文中均使用PolarDB代指PolarDB MySQL類型的數據源。
- PolarDB目前只能用主節點(讀寫庫)進行實時同步。
- 不支持XA ROLLBACK,針對已經XA PREPARE的事務數據,實時同步會將其同步到目標端,如果XA ROLLBACK,實時同步不會針對XA PREPARE的數據做回滾寫入的操作。若要處理XA ROLLBACK場景,需要手動將XA ROLLBACK的表從實時同步任務中移除,再添加表后重新進行全量數據初始化以及增量實時同步。
操作步驟
- 配置白名單。將獨享數據資源組所在的VPC網段添加至PolarDB集群白名單中,操作如下:
- 創建賬號并配置賬號權限。您需要規劃一個數據庫的登錄賬戶用于后續執行操作,此賬戶需擁有數據庫的
SELECT, REPLICATION SLAVE, REPLICATION CLIENT
權限。 - 開啟PolarDB的開啟Binlog。操作詳情可參見開啟Binlog。
后續步驟
配置完成數據源后,來源數據源、資源實例、去向數據源彼此間已可網絡聯通,且不存在訪問限制。您可將來源數據源和去向數據源添加至DataWorks的數據源列表中,便于后續創建數據同步方案時關聯來源和去向數據源。
添加數據源操作可參見添加數據源。