早在 2016 年初我启动 Debezium 项目之前不久,Martin Kleppmann 就做了几场关于 “颠倒数据库” 的演讲,以及他的 Bottled Water 项目如何展示了变更数据捕获(CDC)在将 Kafka 用于流处理方面的重要性。随后 Kafka Connect 宣布,在我看来,它成为了构建实用且可重用 CDC 连接器的基础。由于这些技术和理念对 Red Hat 越来越重要,我有机会启动了一个新的开源项目和社区,围绕为各种数据库管理系统构建出色的 CDC 连接器。
在过去的几年里,我们为 MySQL、然后是 MongoDB,以及最近的 PostgreSQL 创建了 Kafka Connect 连接器。每个连接器最初都有局限性,存在一些问题,但随着时间的推移,越来越多的人尝试使用这些连接器,提出问题,回答问题,在 Twitter 上提到 Debezium,在自己的环境中测试连接器,报告问题,修复 bug,讨论局限性和潜在的新功能,实现增强功能和新功能,改进文档,并撰写博客文章。简而言之,具有相似需求和兴趣的人们共同努力,形成了一个社区。目前 Oracle 和 SQL Server 的附加连接器正在开发中,但需要一些帮助才能更快地推进。
看到我们取得的成就以及 Debezium 社区不断发展壮大,我感到非常兴奋。也许现在是将领导权交给别人的好时机了。事实上,在 Red Hat 工作了近 10 年之后,我将做出一个更大的改变,从今天起,我将加入 Confluent 的工程团队,我预计将在更广泛的 Kafka 社区中扮演更积极的角色,并更直接地参与 Kafka Connect 和 Kafka Streams。我 **绝对** 计划继续参与 Debezium 社区,但我将不再领导该项目。该角色将由 Gunnar Morling 接任,他最近加入了 Debezium 社区,但在开源、Hibernate 社区 和 Bean Validation 规范方面拥有丰富的经验。Gunnar 是一个很棒的人,也是一位出色的开发者,他将成为 Debezium 社区的优秀领导者。
Debezium 项目会改变吗?在某种程度上,它将像从一开始那样不断演进,这是健康的发展。但很多方面将保持不变。Red Hat 仍然致力于 Debezium 项目,并将继续其赞助和社区导向的治理,这从一开始就非常有效。同样重要的是,我们社区的成员仍然在这里,并将继续构建最好的开源 CDC 连接器。
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。