我很高兴地宣布 Debezium 3 版本流的第一个维护版本,即 3.0.1.Final。此维护版本引入了一些新功能,包括对 Cassandra 5、PostgreSQL 17 和 MySQL 9.1 的支持。此外,Debezium Server 支持 YAML 的一些配置改进。

重大变更

我们在此 宣布 了 Debezium 容器镜像将停止发布到 Docker Hub,现在它们仅可在 quay.io 上获取(DBZ-8327)。请务必更新您的容器管道以继续使用最新的镜像。

新功能和改进

Debezium 3.0.1.Final 引入了几个改进和新功能,让我们逐一来看。

Cassandra 5 支持

Apache Cassandra 社区于 2024 年 9 月发布了 Cassandra 5,我们很高兴地报告 Debezium 现在已兼容并支持 Cassandra 的最新主要里程碑(DBZ-8347)。

现已为 Cassandra 5 提供新的 Debezium 连接器构件

<dependency>
    <groupId>io.debezium</groupId>
    <artifactId>debezium-connector-cassandra-5</artifactId>
    <version>3.0.1.Final</version>
</dependency>

此外,新的 Cassandra 5 连接器已包含在 Debezium Server 中。

MySQL 9.1 支持

Oracle 在几周前发布了 MySQL 9.1,我们也高兴地报告 Debezium 现在支持 MySQL 9.1(DBZ-8424)。此更新还包括 MySQL JDBC 驱动程序版本 9.1.0 的更新。

对于现有用户,这应该不需要任何额外的更改。

PostgreSQL 17 支持

PostgreSQL 团队于 2024 年 9 月底发布了最新的 PostgreSQL 17 数据库,我们很高兴地报告 Debezium 正式支持 PostgreSQL 17(DBZ-8275)。对于任何现有用户,此更新应不需要任何额外的更改。

在 Debezium Server 中使用 YAML

Debezium Server 是一个独立的运行环境,用于在裸金属、虚拟机或 Kubernetes 上运行 Debezium 连接器,无需 Kafka Connect 环境。Debezium Server 用户熟悉名为 application.properties 的配置文件,您可以在其中提供源和目标连接器配置来定义您的 Debezium Server 管道。

我们很高兴地宣布,我们已为 Debezium Server 添加了对 YAML 的支持,允许您现在在 application.yml 中定义配置(DBZ-8313)。如果您有任何疑问,请查阅 Quarkus 关于使用 YAML 配置的文档。

其他修复

总共有 35 个问题 在 Debezium 3.0.1.Final 中得到解决。更改列表也可以在我们的 发行说明 中找到。

以下是一些值得注意的更改

  • 如果 DDL 以换行符结尾,Oracle DDL 解析将失败 DBZ-7040

  • 缺少 MongoDb SSL 配置的文档 DBZ-7927

  • 用于 MySQL/MariaDB 内容的单源条件化实现未按预期工作 DBZ-8094

  • 支持批量写入 AWS Kinesis DBZ-8193

  • Debezium 正在重放旧偏移量中的所有事件 DBZ-8194

  • 自 2.5.4.Final 以来,嵌入式 MySqlConnector 出现“无法找到最小快照锁定模式” DBZ-8271

  • Reselect Post Processor 在 pkey 类型为 uuid 等时不起作用 DBZ-8277

  • BinlogStreamingChangeEventSource 的 totalRecordCounter 永远不会更新 DBZ-8290

  • 当抛出 ORA-01001 无效游标异常时,重启 Oracle 连接器 DBZ-8292

  • 创建偏移量时,连接器使用不正确的分区名称 DBZ-8298

  • ReselectPostProcessor 在从 Oracle 重选列时失败 DBZ-8304

  • Debezium MySQL DDL 解析器:SECONDARY_ENGINE=RAPID 不支持 DBZ-8305

  • SQL Server 关于 Server 表上 CDC 的文档 DBZ-8314

  • Oracle DDL 失败 - subpartition list 子句不支持 in-memory 子句 DBZ-8315

  • DDL 语句无法解析 DBZ-8316

  • Binary Log Client 不处理 TRANSACTION_PAYLOAD 头 DBZ-8340

  • Oracle 连接器:archive.log.only.mode 在达到 SYSDATE SCN 后停止工作 DBZ-8345

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