我非常高兴地宣布 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 上评论和提供反馈的其他人。
杂项功能和错误修复
除了这些主要功能外,社区还完成了其他一些功能和修复工作。
一如既往,请参阅 发行说明 以获取已解决问题的完整列表以及从早期 Debezium 版本升级的程序。
非常感谢所有为本次发布做出贡献的社区成员:Aaron Brady, Andrey Ignatenko, Bingqin Zhou, Eric Weaver, Grant Cooksey, Grzegorz Kołakowski, Guy Pascarella, James Gormley, Jos Huiting, Mickaël Isaert, 和 Nathan Mills。
展望
随着 LogMiner 支持的首个版本合并并发布,我们现在计划专注于稳定性和错误修复,Debezium 1.3 最终版预计将于本月底发布。
与此同时,社区正在开发一个由社区贡献的 新连接器,用于 Vitess(根据审查进展,将在 Debezium 1.3 或 1.4 中作为孵化连接器发布),并且我们将很快与您分享一些关于未来 Debezium UI 概念验证的激动人心的工作!
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。