有什么比获得 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 连接器已得到多项改进,例如:
对于MongoDB 连接器,将 ID 序列化到 CDC 事件的键载荷的方式已更改(DBZ-306)。新格式允许将 ID 读取回正确的类型。我们还借此机会使 ID 字段名与其他连接器保持一致,即现在是“id”。注意:此更改可能会破坏现有使用者,因此根据您的使用者实现,可能需要您进行一些工作。详细信息在发行说明中讨论,消息键的格式在连接器文档中有详细说明。感谢Hans-Peter Grahsl对此功能的贡献!
此连接器的另一个不错改进是支持 SSL 连接(DBZ-343)。
最后,Postgres 连接器也学习了一些新技巧:
请参考更改日志,了解 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。
您想贡献吗?太棒了 - 告诉我们,我们会帮助您入门。请查看下面的详细信息,了解如何与我们联系。
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。