Debezium系列之:基于数据库信号表和Kafka信号Topic两种技术方案实现增量快照incremental技术的详细步骤
一、需求背景
- 采集数据库表全部历史数据和后续的流数据,并且对数据库不产生影响
- 使用debezium的增量快照技术能够实现同时采集历史数据和流数据
二、增量快照技术实现的两种方案
方案一:
- 基于数据库信号表实现增量快照技术,
- 详细实现步骤可以参考博主这篇博客:Debezium系列之:实现增量快照incremental技术的详细步骤
- 增量快照技术依赖往数据库信号表写入快照水印,如下所示:
方案二:
- 基于Kafka信号Topic实现只读增量快照incremental技术
- 只读快照增量技术是基于GTID实现的,需要创建信号topic
"signal.kafka.topic": "dw-dbz-signals"
,多个debezium connector可以共用信号topic
三、基于数据库信号表实现增量快照技术的原理
1.基于水印的快照
- 主要思想是更改数据流与快照一起连续执行。该框架将低水位线和高水位线插入到事务日志中(通过写入源数据库),并在这两个点之间读取快照表的一部分。如果在窗口期间对相同