首页/数据/数据工程与 ETL 速查/Debezium schema 历史主题
CDC 与同步53 条

Debezium schema 历史主题

Debezium 用 schema 历史主题记录数据源的 DDL 演进(建表、加列、改列),解析 binlog 时按历史结构还原行的字段布局。该主题(schema.history.internal.kafka.topic)必须可持久化并采用 compacted 清理策略;丢失后 DDL 之后的解析会错位。

存什么数据源的 DDL 变更序列与表结构版本
为什么需要行镜像按当时的列布局解析,需要结构历史对齐
配置项schema.history.internal.kafka.topic(2.x 命名)
清理策略compacted,由 Connect 内部主题机制维护

连接器中的相关配置

连接器中的相关配置
schema.history.internal.kafka.bootstrap.servers=kafka1:9092
schema.history.internal.kafka.topic=schema-changes.orderdb
清理 Kafka 内部主题(connect-offsets / connect-configs / schema 历史)前先停连接器并评估重建成本。

易错点

  • 清理集群时把 schema 历史主题当业务数据删掉,重启后事件解析列错位
  • 换主题名后未做快照重建,新旧结构历史接不上

数据来源与参考

  • Debezium 官方文档(schema history topic 与 DDL 处理)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌