离年底只有几天了,是时候又一个 Debezium 版本了;因此,我非常高兴地宣布 Debezium 0.9.0.Beta2!
此版本支持 MySQL 8 和 Oracle 11g;它包含了 SQL Server 和 Oracle 连接器监控的第一个指标集,对 MongoDB 事件展平 SMT 进行了一些改进,以及大量的错误修复。总的来说,已解决不少于 42 个问题;非常明显,这其中一定有更深层的含义;)
特别感谢以下 Debezium 社区成员为这个版本做出的贡献:Eero Koplimets、Grzegorz Kołakowski、Hanlin Liu、Lao Mei、Renato Mefi、Tautvydas Januskevicius、Wout Scheepers 和 Zheng Wang!
接下来,让我们仔细看看 0.9 Beta2 版本带来的一些更改。
SQL Server 和 Oracle 连接器的监控和指标
继 MySQL 连接器的示例之后,SQL Server 和 Oracle 的连接器现在通过 JMX 公开了一系列用于监控的指标(DBZ-978)。这包括上次 CDC 事件以来的时间、上次事件的偏移量、事件总数、快照过程中剩余和已扫描的表等。有关如何启用 JMX 的详细信息,请参阅 监控文档。下图显示了在 OpenJDK 的 Mission Control 工具中显示值的示例。
我们计划在未来版本中扩展公开的指标集,并为 Postgres 和 MongoDB 提供这些指标。请通过评论 JIRA 问题 DBZ-1040 告诉我们您希望看到的指标。
此外,我们还创建了一个 Grafana 仪表板来可视化所有相关指标。
我们将很快详细介绍监控和仪表板;但如果您有兴趣,可以查看我们示例仓库中的 此演示。
杂项功能
从 Debezium MySQL 连接器已知的 "snapshot.delay.ms" 选项现在也适用于所有其他 Debezium 连接器(DBZ-966)。这在将多个连接器部署到 Kafka Connect 集群时非常有用,因为这可能会导致集群中的连接器重新平衡,从而中断并重新启动已部署的连接器实例正在运行的快照。通过指定延迟来避免这种情况,允许在快照完成前等待重新平衡阶段完成。
MongoDB CDC 事件展平转换器(MongoDB CDC Event Flattening)已得到多项改进:
-
支持 MongoDB 的
$unset操作符(DBZ-612) -
支持完整文档更新(DBZ-987)
-
用于删除删除和墓碑消息的新选项(DBZ-563)
-
将操作的原始类型作为头部参数传达的选项(DBZ-971);此选项也可用于关系连接器的展平 SMT(Flattening SMT),当接收连接器需要区分插入和更新时非常有用。
错误修复
后续步骤
我们计划在 1 月初发布 Debezium 0.9 的候选版本。如果没有出现关键问题,Debezium 0.9.0.Final 将在 1 月底发布。对于候选版本,我们主要安排了进一步的错误修复、SQL Server 连接器的改进以及其他指标的添加。
同时,我们将再次关注 Oracle 连接器,最终实现期待已久的基于 LogMiner 的捕获实现(DBZ-137)。这将是 Debezium 0.10 的主要功能。
此外,我们还将花费一些精力在博客和演示方面;具体来说,我们正在考虑撰写和演示新的监控和指标支持、高可用性架构(包括 MySQL、HAProxy 和 Debezium 的故障转移),以及用上下文信息(如当前用户或用例标识符)丰富 CDC 事件。敬请关注!
至此,所有要说的就是 “祝大家节日快乐!”
祝数据流变更愉快,2019 年再见!
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。