距离 Debezium 0.8 发布仅两周,我很高兴地宣布 Debezium 0.9.0.Alpha1 发布!
新版本的主要功能是期待已久的 Debezium MS SQL Server 连接器的首个工作版本。新连接器基于 CDC 功能(可在 Enterprise 和 Standard 版本中使用),允许您从微软流行的 RDBMS 中流式传输数据更改。
此外,我们还继续致力于 Debezium Oracle 连接器。最值得注意的是,它现在支持对捕获的表进行初始快照。我们还将 Docker 镜像中的 Apache Kafka 升级到了 1.1.1 (DBZ-829)。
请查看更改日志以获取 0.9.0.Alpha1 的完整更改列表和通用升级说明。
注意: 在撰写本文时(2018-07-26),发布构件(连接器归档)可在 Maven Central 上找到。我们将尽快将 0.9.0.Alpha1 的 Docker 镜像上传到 Docker Hub。 Docker 镜像已上传并可使用,标签为 0.9.0.Alpha1 和滚动标签 0.9。
SQL Server 连接器
Debezium 用户长期以来一直希望支持 SQL Server(原始问题是 DBZ-40)。得益于在开发 Oracle 连接器时创建的大量基础架构,我们最终能够以相对较短的开发时间来推出这个新连接器的第一个预览版。
与 Oracle 连接器一样,SQL Server 连接器目前也处于积极开发中,并应被视为一个孵化中的功能。因此,例如,在未来的版本中,发出的变更消息的结构可能会发生变化。在功能方面,它支持初始快照,并通过 SQL Server 的 CDC 功能捕获更改。它支持最常见的列类型、表白名单/黑名单等。最显著的缺失功能是对连接器运行时表结构的更改的支持。这是我们将要处理的下一个功能,并计划作为下一个 0.9 版本的一部分交付(请参阅 DBZ-812)。
我们非常乐意了解您对 Debezium 系列最新连接器的任何反馈。如果您发现任何错误或有功能请求,请在我们的 JIRA tracker 中创建报告。
Oracle 连接器
Debezium 0.8.1.Final
与 Debezium 0.9.0.Alpha1 一起,我们还对当前稳定的 Debezium 版本 0.8 进行了另一次发布。
虽然 0.9 版本目前对那些渴望尝试 Oracle 和 SQL Server 连接器最新进展的用户更有吸引力,但 0.8.1.Final 是一个推荐的升级版本,特别是对于 Postgres 连接器的用户。此版本修复了一个问题,即在一段时间内仅更改非白名单表的记录时,WAL 段可能在服务器上保留的时间过长。通过支持心跳消息(如 MySQL 连接器已知的那样),也为 Postgres 解决了这个问题(DBZ-800)。这使得连接器能够定期将偏移量提交到 Kafka Connect,这也作为向 Postgres 服务器确认已处理 LSN 的钩子。
您可以在 更改日志 中找到 Debezium 0.8.1.Final 中所有更改的列表。
下一步是什么?
如上所述,我们将致力于支持 SQL Server 连接器运行时对捕获表的结构更改。这对 Oracle 连接器也同样适用。这将需要对我们的 DDL 解析器进行一些工作,但得益于我们最近将 MySQL DDL 解析器迁移到 Antlr 所提供的基础,这应该是可行的。
另一项重点工作将是提供一种替代的 Oracle 变更获取实现,而不是基于 XStream API。我们已经对 LogMiner 进行了一些实验,并且还在积极探索其他替代方案。虽然一些细节尚不清楚,但我们有信心很快能在此领域发布一些东西。
如果您想了解更多关于一些中期和长期想法的信息,请查看我们的 路线图。如果您对未来的开发有任何想法或建议,也请与我们联系。
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。