在實時同步場景下,數據寫入不同目的端時,對源端DDL和DML操作的支持情況不同,您可以根據本文了解寫入目標數據源時,對源端DDL及DML操作的支持情況。

背景信息

  • 進行同步任務配置時,您可以根據需要同步的來源與去向數據源,及DataWorks各模塊對數據源的支持情況,選擇對應的功能模塊進行同步任務的配置。詳情請參見:支持的數據源與讀寫能力。
  • 您還可以根據源端待同步的庫個數、表個數與需要寫入目標端的表個數,選擇對應的數據集成模塊進行同步任務的配置。詳情請參見:支持同步的庫或表個數。

注意事項

當源端新增列,并在目標端正常執行后,會有以下限制:
  • 當新增DEFAULT VALUE列后,目標表該新列不會有值,會一直為NULL,后續當源端新增列中新增數據時,實時同步任務會將新增數據同步至該列。
  • 當新增VIRTUAL列后,目標表該新列不會有值,會一直為NULL,后續當源端新增列中新增數據時,實時同步任務會將新增數據同步至該列。
MySQL和PolarDB MySQL源端實時同步,建議您在源端新增列時采用末尾追加列方式,不要采用在中間字段加列方式。如果源端無法避免中間字段加列,需要注意以下約束條件:
  • 全增量解決方案中,在全量同步階段不要進行中間字段加列,否則會導致實時同步階段數據異常。
  • 實時同步階段,同步位點重置時間需要設置在中間字段加列DDL事件之后,否則會導致后續實時同步數據異常。
如果發生數據異常,可以重新進行全量數據初始化方案(只需要將中間加列的表剔除,然后重新進行數據初始化,不需要將整個任務所有表進行全量初始化),恢復正確數據。

DML及DDL支持情況

實時同步場景下,目的端DML和DDL的支持情況如下表所示。
說明 數據集成實時同步模塊和同步解決方案模塊中的全增量實時同步均屬于實時同步場景。具體任務配置與實現您可進入實時同步同步解決方案模塊進行操作。
數據源DMLDDL-表命令DDL-列命令
插入更新刪除新建表刪除表重命名表清空表新增列刪除列重命名列修改列類型
AnalyticDB for MySQL 3.0支持支持支持---支持支持---
DataHub支持----------
DRDS(polardb)支持支持支持--------
Elasticsearch支持支持支持----支持---
Hologres支持支持支持---支持支持---
Kafka支持----------
MaxCompute支持-----支持支持---
MySQL支持支持支持--------
OSS支持----------
Oracle支持支持支持--------