我非常高兴地宣布 Debezium 1.3.0.Beta2 的发布!

在此版本中,我们改进了 MySQL 和 SQL Server 连接器对列过滤的支持,并为 Oracle 提供了一个全新的变更事件捕获实现,使用了 LogMiner 包。随着我们接近 Debezium 1.3 Final 的最后冲刺,还有大量的较小改进、错误修复和文档澄清;总的来说,已为此版本解决了 不少于 44 个问题

列过滤改进

为了解决一个长期存在的特性请求(DBZ-1068),Debezium SQL Server 连接器现在支持服务器端列过滤:可以在数据库本身配置捕获实例,使其仅包含捕获表列的子集。这样,CDC 进程就可以立即排除特定列,而不是仅在 Debezium 连接器中删除它们,这对于大型 BLOB 等来说效率要高得多。

MySQL 连接器增加了对 Debezium Postgres 连接器已知的 column.include.list 选项的支持(DBZ-2508)。

与过滤相关的是,继 1.3 Beta1 发布 中围绕替换“master/slave”、“blacklist”和“whitelist”等词语为更具包容性的替代词所做的工作之后,所有孵化中的连接器(Oracle、Db2、Cassandra)现在也使用新词,如“database.include.list”、“primary/replica”等(DBZ-2462)。

Oracle 的 LogMiner 基于的摄取引擎

Debezium Oracle 连接器现在可以使用 LogMiner 包来摄取更改事件。由于该包随 Oracle 数据库本身提供,因此它是现有 XStream 基于实现的极具吸引力的替代方案。Debezium 社区长期以来一直在讨论和致力于 LogMiner 支持(正如您可能已经从非常低的 issue 号 DBZ-137 中猜到的那样),因此我们对这项工作最终被合并并成为本次发布的一部分感到特别兴奋。

请注意,与 LogMiner 基于的摄取实现相关的几个后续任务有待解决;虽然目前不建议用于生产环境,但我们非常希望在测试和评估中获得您的反馈!

非常感谢所有参与这项工作的人:Andrey Ignatenko 及其团队的主要工作,Andrey Pustovetov 关于事务缓冲的创意,Chris Cranford 接受 PR 并准备合并,Milo vd Zee 的广泛评审,以及所有在 PR 和 Jira issue 上评论和提供反馈的其他人。

杂项功能和错误修复

除了这些主要功能外,社区还完成了其他一些功能和修复工作。

  • MySQL 连接器在使用 Percona Server for MySQL 时支持 LOCK TABLES FOR BACKUP 锁定模式(DBZ-2466),这减少了快照期间的争用。

  • Postgres 连接器快照 SPI 变得更加灵活,允许自定义实现,例如现在可以重新快照选定的表(DBZ-2094)。

  • 事件扁平化 SMT 生成的其他头和字段的前缀现在是可定制的(DBZ-2504)。

  • 支持 MySQL DDL 语句中的 JSON 函数(DBZ-2453)。

  • 改进了 Cassandra 连接器的异常日志记录(DBZ-2498)。

一如既往,请参阅 发行说明 以获取已解决问题的完整列表以及从早期 Debezium 版本升级的程序。

展望

随着 LogMiner 支持的首个版本合并并发布,我们现在计划专注于稳定性和错误修复,Debezium 1.3 最终版预计将于本月底发布。

与此同时,社区正在开发一个由社区贡献的 新连接器,用于 Vitess(根据审查进展,将在 Debezium 1.3 或 1.4 中作为孵化连接器发布),并且我们将很快与您分享一些关于未来 Debezium UI 概念验证的激动人心的工作!

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