數據同步能夠保持源端和目標端的數據一致性,實現關鍵業務的數據實時流動。本文以同步 OceanBase 數據庫的數據至 Kafka 為例,介紹如何使用數據傳輸同步數據。
前提條件
在同步數據之前,您需要確認以下信息:
數據傳輸已具備云資源訪問權限。詳情請參見 數據傳輸遷移角色授權。
已為源端 OceanBase 數據庫創建專用于數據同步任務的數據庫用戶,并為其賦予了相關權限。詳情請參見 創建數據庫用戶。
操作步驟
本文以同步 OceanBase 數據庫的數據至 Kafka 為例,更多詳情請參見 數據同步 模塊的內容。
登錄 OceanBase 管理控制臺,購買數據同步任務。
詳情請參見 購買數據同步任務。
在 數據傳輸 > 數據同步 頁面,單擊新購買的數據同步任務后的 配置。
如果您需要引用已有的任務配置信息,可以單擊 引用配置。詳情請參見 引用和清空數據同步任務配置。
在 選擇源和目標 頁面,配置各項參數。
參數
描述
同步任務名稱
建議使用中文、數字和字母的組合。名稱中不能包含空格,長度不得超過 64 個字符。
源端
如果您已新建 OceanBase 數據源,請從下拉列表中進行選擇。如果未新建,請單擊下拉列表中的 新建數據源,在右側對話框進行新建。參數詳情請參見 新建 OceanBase 數據源。
目標端
如果您已新建 Kafka 數據源,請從下拉列表中進行選擇。如果未新建,請單擊下拉列表中的 新建數據源,在右側對話框進行新建。參數詳情請參見 新建 Kafka 數據源。
標簽(可選)
單擊文本框,在下拉列表中選擇目標標簽。您也可以單擊 管理標簽,進行新建、修改和刪除。詳情請參見 通過標簽管理數據同步任務。
單擊 下一步。在 選擇同步類型 頁面,選擇當前數據同步任務的同步類型。
同步類型包括 全量同步 和 增量同步。增量同步 支持 DML 同步(包括
Insert
、Delete
和Update
)和 DDL 同步,您可以根據需求進行自定義配置。詳情請參見 自定義配置 DDL/DML。單擊 下一步。在 選擇同步對象 頁面,選擇當前數據同步任務需要同步的對象。
您可以通過 指定對象 和 匹配規則 兩個入口選擇同步對象。本文為您介紹通過 指定對象 方式選擇同步對象的操作,配置匹配規則的詳情請參見 配置匹配規則 中庫到消息隊列的通配規則說明和配置方式。
說明如果您在 選擇同步類型 步驟已勾選 DDL 同步,建議通過匹配規則方式選擇同步對象,以確保所有符合同步對象規則的新增對象都將被同步。如果您通過指定對象方式選擇同步對象,則新增對象或重命名后的對象將不會被同步。
同步 OceanBase 數據庫的數據至 Kafka 時,支持多表到多 Topic 的同步。
在選擇區域左側選中需要同步的對象。
單擊 >。
在 將對象映射至 Topic 對話框的 已有 Topic 下拉列表中,搜索并選中需要同步的 Topic。
單擊 確定。
數據傳輸支持通過文本導入對象,并支持對目標端對象進行更改 Topic、設置行過濾、移除單個對象或全部對象等操作。目標端對象的結構為 Topic>Database>Table。
說明通過 匹配規則 方式選擇同步對象時,重命名能力由匹配規則語法覆蓋,操作處僅支持設置過濾條件,以及選擇分片列和需要同步的列。詳情請參見 配置匹配規則。
單擊 下一步。在 同步選項 頁面,配置各項參數。
全量同步
在 選擇同步類型 頁面,選中 全量同步,才會顯示下述參數。
參數
描述
讀取并發配置
該參數用于配置全量同步階段從源端讀取數據的并發數,最大限制為 512.并發數過高可能會造成源端壓力過大,影響業務。
寫入并發配置
該參數用于配置全量同步階段往目標端寫入數據的并發數,最大限制為 512。并發數過高可能會造成目標端壓力過大,影響業務。
全量同步速率限制
您可以根據實際需求決定是否開啟全量同步速率限制。如果開啟,請設置 RPS(全量同步階段每秒最多可以同步至目標端的數據行數的最大值限制)和 BPS(全量同步階段每秒最多可以同步至目標端的數據量的最大值限制)。
說明此處設置的 RPS 和 BPS 僅作為限速限流能力,全量同步實際可以達到的性能受限于源端、目標端、實例規格配置等因素的影響。
增量同步
在 選擇同步類型 頁面,選中 增量同步,才會顯示下述參數。
參數
描述
寫入并發配置
該參數用于配置增量同步階段往目標端寫入數據的并發數,最大限制為 512。并發數過高可能會造成目標端壓力過大,影響業務。
增量同步速率限制
您可以根據實際需求決定是否開啟增量同步速率限制。如果開啟,請設置 RPS(增量同步階段每秒最多可以同步至目標端的數據行數的最大值限制)和 BPS(增量同步階段每秒最多可以同步至目標端的數據量的最大值限制)。
說明此處設置的 RPS 和 BPS 僅作為限速限流能力,增量同步實際可以達到的性能受限于源端、目標端、實例規格配置等因素的影響。
增量同步起始位點
如果選擇同步類型時已選擇 全量同步,則不支持修改該參數。
如果選擇同步類型時未選擇 全量同步,但選擇了 增量同步,請在此處指定遷移某個時間節點之后的數據,默認為當前系統時間。詳情請參見 設置增量同步位點。
高級選項
參數
描述
序列化方式
控制數據同步至 Kafka 的消息格式,目前支持 Default、Canal、DataWorks(支持 V2.0)、SharePlex、 DefaultExtendColumnType、Debezium、DebeziumFlatten、DebeziumSmt 和 Avro。詳情請參見 數據格式說明。
重要目前僅 OceanBase 數據庫 MySQL 租戶支持 Debezium、DebeziumFlatten、DebeziumSmt 和 Avro。
當選擇 DataWorks 時,同步 DDL 不支持
COMMENT ON TABLE
和ALTER TABLE...TRUNCATE PARTITION
。
分區規則
同步 OceanBase 數據庫的數據至 Kafka Topic 的規則,目前支持 Hash、Table 和 One。
Hash 表示數據傳輸使用一定的 Hash 算法,根據主鍵值或分片列值 Hash 選擇 Kafka Topic 的分區。
Table 表示數據傳輸將一張表中的全部數據投遞至同一個分區中,以表名作為 Hash 鍵。
One 表示 JSON 消息會投遞至 Topic 下的某個分區,目的是為了保持排序。
業務系統標識(可選)
僅選擇 序列化方式 為 DataWorks 時,會顯示該參數,用于標識數據的業務系統來源,以便您后續進行自定義處理。該業務系統標識的長度限制為 1~20 個字符。
單擊 預檢查。
在 預檢查 環節,數據傳輸會檢測和目標端 Kafka 實例的連接情況。如果預檢查報錯:
您可以在排查并處理問題后,重新執行預檢查,直至預檢查成功。
您也可以單擊錯誤預檢查項操作列中的 跳過,會彈出對話框提示您跳過本操作的具體影響,確認可以跳過后,請單擊對話框中的 確定。
預檢查成功后,單擊 啟動任務。
如果您暫時無需啟動任務,請單擊 保存。后續您只能在 同步任務列表 頁面手動啟動任務或通過批量操作啟動任務。批量操作的詳情請參見 批量操作數據同步任務。
數據傳輸支持在數據同步任務運行過程中修改同步對象,詳情請參見 查看和修改同步對象及其過濾條件。數據同步任務啟動后,會根據選擇的同步類型依次執行,詳情請參見 查看同步詳情。