有什么比获得 Java 9 更好?同时获得 Java 9 和新版本的 Debezium!因此,我非常高兴地宣布今天发布Debezium 0.6

有什么新内容?

Debezium 现在基于 Apache Kafka 0.11.0 构建并进行了测试。Debezium 的 Docker 镜像也已更新到该版本(DBZ-305)。从早期版本升级时,您应务必阅读 Kafka 的更新指南

为了改善与现有 Kafka sink 连接器(如JDBC sink 连接器Elasticsearch 连接器)的集成,Debezium 提供了一个新的单消息转换(SMT)DBZ-226)。此 SMT 将 Debezium 的 CDC 事件结构转换为一种更常规的结构,这种结构常用于其他 sink 和非 CDC 源连接器,其中消息代表插入或更新的行的状态,删除行时为 null。这使您例如可以捕获 MySQL 表中的更改,并相应地更新 Postgres 数据库中的对应表。我们将在未来几天提供一个完整的示例,展示此新 SMT 的用法。

如果您正在进行 Debezium 教程,您会喜欢示例仓库中提供的新的Docker Compose 设置DBZ-127)。这允许您使用单个命令启动所有必需的 Docker 容器。

新的连接器功能

现在,让我们看看 Debezium 连接器的一些具体更改。MySQL 连接器已得到多项改进,例如:

  • 在某些角落情况下,快照一致性以前不能得到保证(DBZ-210);现在已修复。

  • DDL 解析器支持 DEC 和 FIXED 类型(DBZ-359;感谢刘汉林!)

  • ALTER TABLE 支持 UNION 子句(DBZ-346

对于MongoDB 连接器,将 ID 序列化到 CDC 事件的键载荷的方式已更改(DBZ-306)。新格式允许将 ID 读取回正确的类型。我们还借此机会使 ID 字段名与其他连接器保持一致,即现在是“id”。注意:此更改可能会破坏现有使用者,因此根据您的使用者实现,可能需要您进行一些工作。详细信息在发行说明中讨论,消息键的格式在连接器文档中有详细说明。感谢Hans-Peter Grahsl对此功能的贡献!

此连接器的另一个不错改进是支持 SSL 连接(DBZ-343)。

最后,Postgres 连接器也学习了一些新技巧:

  • 支持可变宽度数值列(DBZ-318

  • 视图不再会中断连接器(DBZ-319

  • 服务器发出的警告和通知已正确转发到日志(DBZ-279

请参考更改日志,了解 Debezium 0.6.0 中修复的 20 个问题的概述。

下一步是什么?

我们当前的首要任务是探索对 Oracle 的支持(DBZ-20)。我们还在研究为 Postgres 连接器使用另一个逻辑解码插件(wal2json),这将使 Debezium 能够与运行在 Amazon RDS 上的 Postgres 实例一起使用。社区成员Moira Tagle正在开发的另一项功能是支持对现有连接器实例的 `table.whitelist` 进行更新。最后,我们计划测试并适配现有的 MySQL 连接器,以便为 MariaDB 提供 CDC 功能。

Debezium 0.7 将在今年晚些时候发布,其中将包含上述一项或多项功能,以及可能的一些其他功能。如果需要,我们很可能还会进行进一步的 0.6.x 版本发布以修复 bug。

您想贡献吗?太棒了 - 告诉我们,我们会帮助您入门。请查看下面的详细信息,了解如何与我们联系。

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