我很高兴地宣布 Debezium 1.4.0.Alpha1 发布!

1.4 发布线的第一个版本提供了一些有用的新功能:

  • 新的 Vitess 连接器

  • 允许对快照的表进行精细选择

总的来说,社区为这个版本修复了 41 个问题。让我们更详细地了解一些亮点。

Vitess 连接器

Vitess 是一个用于部署、扩展和管理大型 MySQL 集群的数据库解决方案。我们很高兴 Ruslan Gibaiev 和 Kewei Shang(来自 Bolt Technology OÜ)团队决定基于 Debezium 构建一个 CDC 解决方案,并将其 开源,纳入 Debezium 旗下。该连接器在 Debezium 1.4 中以 **incubating**(孵化中)状态发布。

Ruslan 和 Kewei 将很快发布一篇详细介绍该连接器的博客文章;在此之前,请参阅连接器的 参考文档 以了解更多信息。

精细化选择快照表

Debezium 1.4 的一个主要关注点是探索更灵活的快照选项,例如重新快照选定的表或并行化长时间运行的快照操作。

快照方面的第一个改进是新的连接器配置 snapshot.include.collection.list,它允许只快照连接器在日志读取过程中稍后捕获的表的一部分。例如,如果您想捕获所有表的更改,但只需要其中一些表的初始数据快照,这将非常方便。

对于 Postgres 连接器,通过创建 Snapshotter SPI 合约的自定义实现,还可以实现对特定表的选择性重快照。重启连接器后,这样的 Snapshotter 将从之前的位置继续读取日志直到“现在”,然后它将拍摄给定表的快照,最后继续读取所有捕获表的日志。

有关此选项的更多信息,请参阅特定连接器的 文档 以获取更多详细信息。

其他功能

除了这些主要功能外,1.4.0.Alpha1 版本还带来了一些其他功能:

  • 为 MongoDB 实现快照选择覆盖行为 DBZ-2496

  • SqlServer - 跳过与更改表条目不相关的 LSN 处理 DBZ-2582

Bug 修复

此外,还修复了许多 Bug,例如:

  • 无法覆盖环境变量 DBZ-2559

  • 分片集群中导出 MongoDB collection 数据时发生 ConcurrentModificationException DBZ-2597

  • Mysql 连接器未将默认数据库字符集传递给列定义 DBZ-2604

  • [Doc] 出现 "registry.redhat.io/amq7/amq-streams-kafka-25: unknown: Not Found" 错误 DBZ-2609

  • [Doc] 出现 "Error: no context directory and no Containerfile specified" 错误 DBZ-2610

  • 使用 dbz 时,在 Oracle on RDS 在线日志和 LogMiner 中出现 SqlExceptions DBZ-2624

  • Mining session stopped - task killed/SQL operation cancelled - Oracle LogMiner DBZ-2629

  • 无法解析的 DDL:在视图创建中使用 'trigger' 作为表别名 DBZ-2639

  • Antlr DDL 解析器无法解释 BLOB([size]) DBZ-2641

  • 更改 snapshot.new.tables 后,MySQL 连接器保留了过时的偏移量元数据 DBZ-2643

  • Postgres 连接器中 WAL 日志未刷新 DBZ-2653

  • Debezium Server Event Hubs 插件在 v1.3 中的支持 DBZ-2660

  • Cassandra 连接器未正确使用 log4j 进行日志记录 DBZ-2661

  • 应允许 SQL 中的非 ASCII 字符 DBZ-2670

  • MariaDB nextval 函数在语法中不受支持 DBZ-2671

  • Sanitize 字段名未对子结构字段进行 sanitization DBZ-2680

  • 如果删除了一个与现有表同名的不存在的视图,Debezium 会失败 DBZ-2688

非常感谢社区中为本次发布做出贡献的所有贡献者:FaizanSergei MorozovKewei ShangMichael WangArik CohenJames GormleyjinguangyangKaushik IyerJohn MartinTravis ElnickyYiming Liu,以及 Bingqin Zhou

Chris Cranford

Chris 是 IBM 的一名软件工程师,之前在 Red Hat 工作,他致力于 Debezium 项目,并每天都在深入研究 Oracle 和 Change Data Capture 的各个方面。他此前曾从事 Hibernate(领先的开源 JPA 持久化框架)方面的工作,并且继续为 Quarkus 做贡献。Chris 居住在美国北卡罗来纳州。

   


关于 Debezium

Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。

参与进来

我们希望您觉得 Debezium 有趣且有用,并希望尝试一下。在 Twitter @debezium 上关注我们,在 Zulip 上与我们聊天,或加入我们的 邮件列表 与社区交流。所有代码都在 GitHub 上开源,因此请在本地构建代码,帮助我们改进现有连接器并添加更多连接器。如果您发现问题或有改进 Debezium 的想法,请告诉我们或 记录一个问题

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