在 0.6.0 发布不到一个月的时间里,我很高兴地宣布Debezium 0.6.1 发布!

此版本包含多个错误修复、依赖项升级以及一个控制如何传输 BIGINT UNSIGNED 列的新选项。我们还扩展了教程附带的 Docker 镜像和 Docker Compose 文件集,现在您可以针对我们支持的所有数据库运行它。

让我们仔细看看一些更改。

新增控制 BIGINT UNSIGNED 表示的新连接器选项

到目前为止,来自 MySQL 数据库的 BIGINT UNSIGNED 列一直使用 Kafka Connect 的 Decimal 类型来表示。此类型允许表示此类列的所有可能值,但它基于字节数组,因此消费者处理起来可能有些麻烦。因此,我们为 MySQL 连接器添加了一个名为 bigint.unsigned.handling.mode 的新选项,允许使用 long 来表示此类列。

在绝大多数情况下,这是首选选项,只有当你的列包含大于 2^63 的值时(MySQL 不推荐这样做,因为在执行计算时可能出现值丢失),你应该坚持使用 Decimal 表示。

从 Debezium 0.7 开始,将默认使用 long,对于 0.6.x 版本,为了向后兼容,我们决定保持之前的行为(即使用 Decimal)。

非常感谢 Ben Williams 贡献了此功能!

新的示例 Docker 镜像和 Docker Compose 文件

Debezium 示例存储库 中,我们现在提供 Docker Compose 文件,它允许你使用我们目前支持的所有三个数据库(MySQL、Postgres 和 MongoDB)来运行教程。

只需选择你喜欢的数据库的 Compose 文件,即可在几秒钟内运行所有必需的组件(ZooKeeper、Apache Kafka、Kafka Connect 和数据库)。

我们还将 Postgres 和 MongoDB 的 Docker 镜像部署到了 Docker Hub 上的 Debezium 组织,这样你就有了一些数据可以进行尝试。

版本升级

我们将镜像从 Kafka 0.11.0.0 升级到了 0.11.0.1。此外,MySQL 连接器使用的 binlog 客户端库也从 0.9.0 升级到了 0.13.0。

Bug 修复

最后,0.6.1 版本修复了几个错误。例如,你现在可以在 MySQL 中将列命名为 columnDBZ-408),生成的 DROP TEMP TABLE 语句不会再淹没 DB 历史主题(DBZ-295),并且我们修复了一个 Postgres 连接器因内部错误而停止工作但未能通过任务/连接器状态报告的问题(DBZ-380)。

请参阅 完整的更改日志 以获取更多详细信息和修复的问题列表。

下一步是什么?

Debezium 0.7 的开发已经开始,我们已经合并了第一批更改。你将能够看到支持将 wal2json 逻辑解码插件与 Postgres 连接器一起使用,这将最终允许它在 Amazon RDS 上的 Postgres 中使用 Debezium!我们还开始探索为 Oracle 提供连接器(DBZ-20),并希望很快能在此报告一些进展。

随着 Debezium 0.7 的开发继续进行,你可能会继续看到一个或多个 0.6.x 的错误修复版本。我们已尽可能自动化了发布流程,使得发布新版本并快速将修复程序交付给你变得轻而易举。

如果您想做出贡献,请告知我们。我们很乐意提供任何帮助,并将与您合作,帮助您快速入门。有关如何联系的详细信息,请参阅下文。

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