Debezium 特性
Debezium 是一组用于 Apache Kafka Connect 的源连接器。每个连接器通过使用数据库的变更数据捕获 (CDC) 功能来摄取来自不同数据库的变更。与轮询或双写等其他方法不同,Debezium 实现的基于日志的 CDC
-
确保所有数据变更都会被捕获。
-
产生延迟非常低的变更事件,同时避免了频繁轮询所需的 CPU 使用率增加。例如,对于 MySQL 或 PostgreSQL,延迟在毫秒级别。
-
无需更改您的数据模型,例如添加“最后更新”列。
-
可以捕获删除操作。
-
可以捕获旧记录状态和其他元数据,例如事务 ID 和导致查询,具体取决于数据库的功能和配置。
基于日志的变更数据捕获的五大优势 是一篇提供更多细节的博文。
Debezium 连接器捕获数据变更,具有一系列相关功能和选项
-
快照: 如果连接器启动时日志不存在,可以选择拍摄数据库当前状态的初始快照。通常,当数据库运行一段时间并已丢弃不再需要的事务日志以进行事务恢复或复制时,会出现这种情况。有不同的快照执行模式,包括支持增量快照,可以在连接器运行时触发。有关更多详细信息,请参阅您正在使用的连接器的文档。
-
过滤器: 您可以使用包含/排除列表过滤器配置捕获的模式、表和列的集合。
-
掩码: 特定列的值可以被掩码,例如,当它们包含敏感数据时。
-
监控: 大多数连接器都可以使用 JMX 进行监控。
-
即用型消息转换,用于消息路由、过滤、事件展平等;请参阅 转换 以获取 Debezium 提供的所有 SMT 的概述。
有关所有支持的数据库列表以及每个连接器的详细功能和配置选项信息,请参阅 连接器文档。
Debezium 也可以作为 库嵌入到您的 JVM 应用程序中;通过 Debezium Server,您可以将变更事件发送到像 Amazon Kinesis、Google Cloud Pub/Sub、Apache Pulsar 等消息基础设施。