Skip to content

Commit

Permalink
ticdc: add note to the Avro protocol (#19636) (#19651) (#19664)
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-chi-bot authored Jan 22, 2025
1 parent 5cea176 commit c624446
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions ticdc/ticdc-avro-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,16 @@ Key 中的 `fields` 只包含主键或唯一索引列。

Value 数据格式默认与 Key 数据格式相同,但是 Value 的 `fields` 中包含了所有的列,而不仅仅是主键列。

> **注意:**
>
> Avro 协议在编码 DML 事件时,操作方式如下:
>
> - 对于 Delete 事件,只编码 Key 部分,Value 部分为空。
> - 对于 Insert 事件,编码所有列数据到 Value 部分。
> - 对于 Update 事件,只编码更新后的所有列数据到 Value 部分。
>
> Avro 协议不会对 Update 和 Delete 事件的旧值进行编码。此外,为了与大多数依赖 `null` 记录来识别删除 (`delete.on.null`) 的 Confluent sink 连接器兼容,即使开启 `enable-tidb-extension` 选项,Delete 事件也不包含 TiDB 扩展字段信息,如 `_tidb_commit_ts`。如果你需要这些功能,请考虑使用其他协议,例如 Canal-JSON 或 Debezium。
如果开启了 [TiDB 扩展字段](#tidb-扩展字段),那么 Value 数据格式将会变成:

```
Expand Down

0 comments on commit c624446

Please sign in to comment.