TiCDC 支持自行选择是否将 Update 拆分为 Insert 和 Delete

需求反馈
请清晰准确地描述问题场景、需求行为及背景信息,更有利于产品同学及时跟进需求
【需求涉及的问题场景】
背景:TiCDC 5.x 升级 8.x or 7.5.x
问题:使用 TiCDC 的 Canal-JSON 获取数据表的变更生成业务数据变更日志,根据官方文档,新版 TiCDC 当存在主键或非空唯一索引变更时,由于 CSV 和 AVRO 协议无旧值或使用 Index value dispatcher 分发发生 Index Value 变更可能存在分区消费速度不同导致数据不一致。
但实际的场景中,index value 分发一般都会使用 id 或要求有顺序性的字段来保证数据的有序性,该部分字段为了保证数据顺序性,并不会发生修改。

【期望的需求行为】
TiCDC 创建 changefeed 可支持自行选择是否开启 Update 拆分为 Insert。

【需求可替代方案】
暂无

【背景信息】
修改后一方面可以解决与数据的实际变更事件保持一致的问题,在一些唯一索引变化较大的场景提高其数据同步的速度。

相关问题:TiCDC Update 行为变更是否影响 Canal-JSON

插眼,蹲个结果 :eyes:

https://docs.pingcap.com/zh/tidb/stable/release-6.5.10#改进提升
现在支持配置了~ output-raw-change-event = true 。用户文档稍后加上

TiCDC 的 sink 配置项中的 enable-old-value 参数来控制是否将 Update 操作拆分为 Insert 和 Delete 操作。
enable-old-value = true 时,TiCDC 将会将 Update 操作拆分为 Insert 和 Delete 操作,以便更好地同步数据变更。
仅供参考

这个原来不是控制old-value是否有数据的,现在换语义了?

楼上正解:
image

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。