我非常高兴地宣布 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 EngineeringKate Galieva 的贡献!

Debezium Oracle 连接器现在也支持增量快照。另一个快照改进与非增量快照有关:过滤的列现在会立即从快照 select 语句中排除,这提高了连接器在排除大型 BLOB 列时的性能。

我们将在稍后发布一篇关于增量快照的更详细博客文章。

Debezium UI

Debezium UI 是我们致力于进一步简化 Debezium 的入门和操作体验的一部分。 该 UI 允许您配置和启动新连接器、检查正在运行的连接器的状态等等。

Debezium UI 团队一直在不懈努力构建这个 Web 应用程序,即将支持设置转换 (SMT) 和主题自动创建设置。在此期间,请参阅最初宣布 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.Alpha11.7.0.Beta11.7.0.CR11.7.0.CR2 的原始公告中了解更多信息。有关 CR2 以来解决的问题列表以及从早期版本升级的程序,请参阅 Debezium 1.7.0.Final 的 发行说明

Debezium 项目离不开来自世界各地、令人惊叹的贡献者社区!非常感谢所有为此次发布做出贡献的人!向以下为 1.7 Debezium 核心仓库做出贡献的社区个人表示赞扬:

展望

下一个 Debezium 版本 1.8 计划在年底发布。 路线图 仍在变动中,但我们计划解决的一些功能包括支持 MongoDB change streams(以支持 MongoDB 5.0)、改进对 MariaDB 的支持,以及压缩大型数据库历史主题的能力。

我们还计划进一步扩展 Debezium UI,继续开发 Debezium Oracle 连接器,并使 SQL Server 连接器能够同时处理多个数据库,以及更多功能。请通过 邮件列表 告诉我们您的功能请求!

Gunnar Morling

Gunnar 是一位软件工程师,内心是一个开源爱好者,目前在 Confluent 担任技术专家。此前,他曾帮助构建一个基于 Apache Flink 的实时流处理平台,并领导了 Debezium 项目,这是一个用于变更数据捕获的分布式平台。他是 Java Champion,并创立了多个开源项目,如 JfrUnit、kcctl 和 MapStruct。Gunnar 是一位热情的博主 (morling.dev),并曾在 QCon、Java One 和 Devoxx 等各种会议上发表演讲。他居住在德国汉堡。

   


关于 Debezium

Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。

参与进来

我们希望您觉得 Debezium 有趣且有用,并希望尝试一下。在 Twitter @debezium 上关注我们,在 Zulip 上与我们聊天,或加入我们的 邮件列表 与社区交流。所有代码都在 GitHub 上开源,因此请在本地构建代码,帮助我们改进现有连接器并添加更多连接器。如果您发现问题或有改进 Debezium 的想法,请告诉我们或 记录一个问题

版权所有 © Debezium 及其作者。保留所有权利。有关我们的商标详情,请访问我们的 商标政策商标列表。第三方商标属于其各自所有者,在此提及并不表示任何认可或关联。
×