我非常高兴地宣布 Debezium 1.7.0.Final 发布!
此版本的主要功能包括对增量快照概念(在 Debezium 1.6 中引入)的重大改进,基于 Web 的 Debezium 用户界面,Debezium Server 中的 NATS 支持,以及支持通过 Debezium Kafka 容器镜像运行不带 ZooKeeper 的 Apache Kafka。
此外,在过去几个月里,Debezium 社区还发生了一些激动人心的事情;例如,我们看到了一个基于 Debezium 连接器框架的 ScyllaDB CDC 连接器 (基于 Debezium 连接器框架),并且正在开发一个 Debezium Server Apache Iceberg 连接器(更多细节即将在此博客的客座文章中发布)。
增量快照改进
Debezium 1.6 中引入的增量快照功能,基于 Netflix Engineering 发表的一篇论文,解决了许多关于初始快照的长期功能请求,例如能够重新快照特定表、支持 include/exclude 过滤器配置的修改,以及在连接器重启后恢复快照。
对于 Debezium 1.7,增量快照得到了进一步的改进和稳定。Debezium MySQL 连接器现在支持在连接器没有写入访问权限的情况下进行增量快照,这在使用 Debezium 指向只读副本时非常有用。除了之前可以通过信号表触发之外,现在还可以通过发送消息到特定 Kafka 主题来触发即时快照,这进一步增强了对只读场景的支持。非常感谢 Shopify Engineering 的 Kate Galieva 的贡献!
Debezium Oracle 连接器现在也支持增量快照。另一个快照改进与非增量快照有关:过滤的列现在会立即从快照 select 语句中排除,这提高了连接器在排除大型 BLOB 列时的性能。
我们将在稍后发布一篇关于增量快照的更详细博客文章。
Debezium UI
其他改进
Debezium 1.7 中的其他改进包括 Debezium Server 对 NATS Streaming 的 支持,以及 Debezium 容器镜像对 Apache Kafka 2.8 的支持。您甚至可以使用 Debezium 用于 Apache Kafka 的容器镜像来 体验 在没有 ZooKeeper 的情况下运行 Apache Kafka!
支持 MySQL `INVISIBLE` 列,Oracle Debezium 连接器的事务缓冲区采用堆外实现,允许处理大型长期事务,等等。此外,还进行了多项性能改进;特别感谢 Naveen Kumar 的持续帮助,包括创建了多个 JMH 基准测试来衡量改进对代码库特定性能敏感区域的影响。
总共有 206 个问题 已在 1.7 最终版和预览版中修复。您可以在 Debezium 1.7.0.Alpha1、1.7.0.Beta1、1.7.0.CR1 和 1.7.0.CR2 的原始公告中了解更多信息。有关 CR2 以来解决的问题列表以及从早期版本升级的程序,请参阅 Debezium 1.7.0.Final 的 发行说明。
Debezium 项目离不开来自世界各地、令人惊叹的贡献者社区!非常感谢所有为此次发布做出贡献的人!向以下为 1.7 Debezium 核心仓库做出贡献的社区个人表示赞扬:
Alfusainey Jallow、Anisha Mohanty、Ashmeet Lamba、Bingqin Zhou、Bob Roldan、Blake Peno、Brennan Vincent、Camile Sing、Chris Baumbauer、Chris Cranford、Derek Moore、Dhrubajyoti G、Erik Malm、Gunnar Morling、Harvey Yue、Hussain Ansari、Hossein Torabi、Indra Shukla、Ismail Simsek、Jakub Cechacek、Jiabao Sun、Jiri Novotny、Jiri Pechanec、Jorn Argelo、Judah Rand、Katerina Galieva、Kyley Jex、Martín Pérez、Mark Drilling、Mike Kamornikov、Naveen Kumar、Patrick Chu、Pavel Strashkin、Raphael Auv、René Kerner、Sergei Morozov、Thiago Avancini、Thiago Dantas、Tin Nguyen、Tommy Karlsson、Vivek Wassan、WenChao Ke、yangsanity、Yossi Shirizli、Yuan Zhang、Xiao Fu、Zoran Regvart、李宗文,以及 민규 김。
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。