我很高兴地宣布 Debezium 3 版本流的第一个维护版本,即 3.0.1.Final。此维护版本引入了一些新功能,包括对 Cassandra 5、PostgreSQL 17 和 MySQL 9.1 的支持。此外,Debezium Server 支持 YAML 的一些配置改进。
新功能和改进
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 配置的文档。
其他修复
以下是一些值得注意的更改
-
如果 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
非常感谢社区中所有为此版本辛勤工作的贡献者:Anisha Mohanty、Kunal Bhatnagar、Chris Cranford、Dongwook Chan、Franz Emberger、Gaurav Miglani、Jiri Pechanec、Jonas Thelemann、Katerina Galieva、Mario Fiore Vitale、Nathan Smit、Ondrej Babec、Philippe Labat、Robert Roldan、Stefan Miklosovic 和 Vojtech Juranek!
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。