在实时同步场景下,数据写入不同目的端时,对源端DDL和DML操作的支持情况不同,您可以根据本文了解写入目标数据源时,对源端DDL及DML操作的支持情况。

背景信息

  • 进行同步任务配置时,您可以根据需要同步的来源与去向数据源,及DataWorks各模块对数据源的支持情况,选择对应的功能模块进行同步任务的配置。详情请参见:支持的数据源与读写能力
  • 您还可以根据源端待同步的库个数、表个数与需要写入目标端的表个数,选择对应的数据集成模块进行同步任务的配置。详情请参见:支持同步的库或表个数

注意事项

当源端新增列,并在目标端正常执行后,会有以下限制:
  • 当新增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 支持 支持 支持 - - - - - - - -