openGauss 反向遷移gs_replicate

奔跑的数据库發表於2024-03-30

反向遷移gs_replicate

特性簡介

支援openGauss的增量資料線上遷移至MySQL。

客戶價值

反向遷移是指使用者將源端資料庫遷移到目標資料庫,應用切到目標資料庫後,再將目標端新產生的資料遷移回源端。反向遷移可滿足使用者業務遷移逃生的訴求,保持源端、目標端兩個庫並行執行,在目標端資料庫出問題後應用能及時切回源端資料庫。

特性描述

debezium opengauss connector的source端,監控openGauss的xlog日誌,並將資料的DML操作以AVRO格式寫入到kafka;

debezium opengauss connector的sink端,從kafka讀取AVRO格式的資料,在mysql端按表並行回放,從而完成資料的DML操作從openGauss線上遷移至mysql。

特性增強

  • 反向遷移支援遷移進度與回放失敗的SQL語句實時上報。
  • 反向遷移支援斷點續傳功能,可滿足工具中斷重啟後資料持續遷移,中斷期間的增量資料不遺漏。
  • 反向遷移支援jdbc超時重連機制,可在jdbc斷連後自動重連,使用者無感知。
  • 反向遷移支援使用者自定義是否在遷移結束後保留邏輯複製槽,若保留邏輯複製槽則可實現斷點續傳功能。
  • 反向遷移增加流量控制能力,可在遷移大批次增量資料時觸發流量控制,防止系統崩潰。

特性約束

  1. 日誌級別的guc引數wal_level = logical。
  2. 僅限能進行邏輯複製的使用者進行操作。
  3. 不支援DDL操作遷移。
  4. 在需要ssl連線的場景,需要前置條件保證guc引數ssl = on。
  5. 不允許多個庫使用同一個邏輯複製槽。
  6. 禁止在使用邏輯複製槽時在其他節點對該複製槽進行操作,可透過引數slot.drop.on.stop控制是否在工具退出時刪除邏輯複製槽。

依賴關係

依賴邏輯複製與釋出訂閱。

參考文件

開源社群地址:gs_rep_portal

詳細參考文件: README.md

反向遷移社群地址:gs_replicate

詳細參考文件: README.md

相關文章