TiCDC Supports Optional Splitting of Update into Insert and Delete

This topic has been translated from a Chinese forum by GPT and might contain errors.

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

| username: ealam_小羽

Requirement Feedback
Please clearly and accurately describe the problem scenario, required behavior, and background information to facilitate timely follow-up by the product team.

[Problem Scenario Involved in the Requirement]
Background: TiCDC 5.x upgrade to 8.x or 7.5.x
Problem: Using TiCDC’s Canal-JSON to obtain table changes and generate business data change logs. According to the official documentation, in the new version of TiCDC, when there are changes to primary keys or non-null unique indexes, due to the lack of old values in CSV and AVRO protocols or the use of Index value dispatcher for distribution, there may be inconsistent data due to different partition consumption speeds when Index Value changes.

However, in actual scenarios, index value distribution generally uses id or fields that require order to ensure data orderliness. These fields, to ensure data orderliness, will not be modified.

[Expected Requirement Behavior]
TiCDC should support the option to enable or disable splitting Update into Insert when creating a changefeed.

[Alternative Solutions]
None at the moment.

[Background Information]
After modification, it can solve the problem of keeping consistent with the actual data change events and improve data synchronization speed in scenarios with significant unique index changes.

Related issue: TiCDC Update 行为变更是否影响 Canal-JSON - TiDB 的问答社区

| username: HHHHHHULK | Original post link

Marking this to follow the results :eyes: