在即時同步情境下,資料寫入不同目的端時,對源端DDL和DML操作的支援情況不同,您可以根據本文瞭解寫入目標資料來源時,對源端DDL及DML操作的支援情況。
背景資訊
- 進行同步任務配置時,您可以根據需要同步的來源與去向資料來源,及DataWorks各模組對資料來源的支援情況,選擇對應的功能模組進行同步任務的配置。詳情請參見:支援的資料來源及同步方案。
- 您還可以根據源端待同步的庫個數、表個數與需要寫入目標端的表個數,選擇對應的Data Integration模組進行同步任務的配置。詳情請參見:支援同步的庫或表個數。
注意事項
當源端新增列,並在目標端正常執行後,會有以下限制:
- 當新增DEFAULT VALUE列後,目標表該新列不會有值,會一直為NULL,後續當源端新增列中新增資料時,即時同步任務會將新增資料同步至該列。
- 當新增VIRTUAL列後,目標表該新列不會有值,會一直為NULL,後續當源端新增列中新增資料時,即時同步任務會將新增資料同步至該列。
MySQL和PolarDB MySQL源端即時同步,建議您在源端新增列時採用末尾追加列方式,不要採用在中間欄位加列方式。如果源端無法避免中間欄位加列,需要注意以下約束條件:
- 全增量解決方案中,在全量同步階段不要進行中間欄位加列,否則會導致即時同步階段資料異常。
- 即時同步階段,同步位點重設時間需要設定在中間欄位加列DDL事件之後,否則會導致後續即時同步資料異常。
DML及DDL支援情況
即時同步情境下,目的端DML和DDL的支援情況如下表所示。
資料來源 | DML | DDL-表命令 | DDL-列命令 | ||||||||
插入 | 更新 | 刪除 | 建立表 | 刪除表 | 重新命名表 | 清空表 | 新增列 | 刪除列 | 重新命名列 | 修改列類型 | |
AnalyticDB for MySQL 3.0 | 支援 | 支援 | 支援 | - | - | - | 支援 | 支援 | - | - | - |
DataHub | 支援 | - | - | - | - | - | - | - | - | - | - |
DRDS(polardb) | 支援 | 支援 | 支援 | - | - | - | - | - | - | - | - |
Elasticsearch | 支援 | 支援 | 支援 | - | - | - | - | 支援 | - | - | - |
Hologres | 支援 | 支援 | 支援 | - | - | - | 支援 | 支援 | - | - | - |
Kafka | 支援 | - | - | - | - | - | - | - | - | - | - |
MaxCompute | 支援 | - | - | - | - | - | 支援 | 支援 | - | - | - |
MySQL | 支援 | 支援 | 支援 | - | - | - | - | - | - | - | - |
OSS | 支援 | - | - | - | - | - | - | - | - | - | - |
Oracle | 支援 | 支援 | 支援 | - | - | - | - | - | - | - | - |