虽然还没到圣诞节,但我们已经为你准备了一份礼物:Debezium开云体育官方注册网址0.7.0在这里,充满了新功能以及许多错误修复!非常感谢所有为这次发布做出贡献的社区成员。令人鼓舞的是,我们不仅看到越来越多的问题和功能请求被报告,而且还看到了越来越多的请求。

请注意,此版本对某些数据类型的默认映射进行了少量更改。我们尽量避免这种变化,但在某些情况下,这是必须的,例如,如果之前的映射可能会导致潜在的价值损失。请参阅下面的详细信息,并确保查看完整更改日志详细描述了这些变化。

现在让我们仔细看看一些新功能。

基于Apache Kafka 1.0

几周前Apache Kafka团队已经发布版本1.0.0.这是Kafka社区的一个重要里程碑,现在我们可以高兴地宣布Debezium是开云体育官方注册网址并在Apache Kafka版本上运行。我们的Docker图像也是如此提升包含Apache Kafka和Kafka Connect 1.0.0。

PostgreSQL连接器

对于PostgreSQL连接器来说,最大的新闻就是现在支持wal2json逻辑解码插件作为现有的替代方案DecoderBufs插件.这意味着您现在可以使用Debezium将更改流从PostgreS开云体育官方注册网址QL上输出Amazon RDSwal2json是这个环境中使用的逻辑解码插件。非常感谢罗伯特政变谁对这个特性做出了重大贡献。

在处理这个插件时,我们注意到有一个潜在竞态条件当涉及到对捕获表的模式应用更改时。在这种情况下,可能发生的情况是,在模式更改之前使用新模式发出了与数据更改相关的大量消息。除了少数极端情况(所描述的在这里),在使用Debezium自己的DecoderBufs插件时已经解决了这个问开云体育官方注册网址题。因此,强烈建议在升级Debezium连接器之前将DecoderBufs插件升级到新版本。开云体育官方注册网址我们还与wal2json插件的作者密切合作(非常感谢您的快速帮助!),以防止在使用wal2json插件时出现问题。

虽然针对Postgr开云体育官方注册网址es的Debezium Docker图像已经附带了最新版本的DecoderBufs和wal2json,但RDS目前仍在使用旧版本的wal2json。在更新之前,在对捕获的表应用模式更改时必须特别注意。请参阅的更新日志获取此问题的深入描述以及缓解该问题的方法。

有新的日常运行CI工作验证wal2json插件是否通过了我们的测试套件。在可预见的将来,我们将同时支持wal2json和现有的DecoderBufs插件。由于使用了Protocol Buffers二进制格式,后者应该更有效,而前者对于RDS或其他无法控制已安装的逻辑解码插件的云环境非常方便,但wal2json是可用的。

关于Postgres连接器的其他消息,安德烈Pustovetov发现并提出了修复多线程问题如果在快照期间触发了Connect集群中的重新平衡,则可能会将连接器置于未定义的状态。谢谢,安德烈!

MySQL连接器

在MySQL连接器中,我们修复了两个影响某些列类型默认映射的问题。

跟进新消息长整型数字无符号中介绍的映射开云体育官方注册网址Debezium 0.6.1,此类型现在编码为int64在De开云体育官方注册网址bezium消息中默认情况下因为它更容易为(多语言)客户工作。对于绝大多数情况,这是一个合理的映射。仅当使用值> 2^63时,应将其切换回小数逻辑类型,不过处理起来有点麻烦。这应该是一个罕见的情况,因为MySQL建议对使用无符号值> 2^63,因为在执行db端计算时潜在的值损失。请参阅连接器的文档详情如下。

雷内·肯纳改进了对MySQL时间类型。MySQL允许存储大于的值23:59:59在这样的列中,以及类型int32以前是用来做什么的时间(0 - 3)列不足以传达整个可能的值范围。因此,所有时间MySQL中的列默认表示为int64现在,使用io.开云体育官方注册网址debezium.time.MicroTime逻辑类型,即该值表示微秒。如果需要,您可以通过设置切换到前面的映射time.precision.mode自适应但是,只有在你确定你的价值观适合你的时候,你才应该这样做int32.此选项仅在过渡期间保留,并将在未来的版本中删除。

最近我们有一个报告MySQL的binlog可以包含的回滚实际上没有提交的语句和事务。当然,在这种情况下不应该发出任何数据更改消息。例如,当临时表被删除时就会出现这种情况。所以我们引入了有预见性的缓冲按事务读取binlog并排除那些回滚的功能。应该将此功能视为正在孵化,默认情况下暂时禁用。我们希望收集您对此的反馈,所以如果您从中受益,请尝试一下,并在遇到任何问题时告诉我们。详情请参阅binlog.buffer.size在MySQL连接器文档中设置。

Andras Istvan Nagy有了这个想法实现一种显式地从每个表中选择将作为快照过程一部分的行的方法。例如,如果您使用软删除,并希望从快照中排除所有逻辑删除的记录,这可能非常有用。

请参阅完整更改日志有关详细信息和修复问题的完整列表。

接下来是什么?

Debe开云体育官方注册网址zium 0.7.1计划在圣诞节后大约两周发布。

它将包含一个新的SMT,该SMT将MongoDB更改事件展开为接收器连接器可使用的常规JSON。

对…进行大检修几何类型正在进行中。完成后,所有几何类型将被MySQL和PostgreSQL连接器支持,它们将在标准中可用WKB格式便于多语言客户端使用。

正在进行MySQL连接器的工作,以允许动态更新table.whitelist选择。这将允许用户重新配置捕获的表集,而不需要重新创建连接器。

如果你想投稿,请让我们知道。我们很高兴任何帮助,并将与您一起工作,让您快速开始。查看下面关于如何联系的详细信息。

雅罗西克Pechanec

Jiri是Red Hat的软件开发人员(前质量工程师)。他职业生涯的大部分时间都花在Java和系统集成项目和任务上。他住在捷克共和国布尔诺附近。


关于Debe开云体育官方注册网址zium

开云体育官方注册网址Debezium是一个开源的分布式平台,它将现有数据库转换为事件流,因此应用程序几乎可以立即看到并响应数据库中提交的每一个行级更改。开云体育电动老虎机开云体育官方注册网址Debezium是建立在卡夫卡并提供卡夫卡连接监控特定数据库管理系统的兼容连接器。开云体育电动老虎机开云体育官方注册网址Debezium在Kafka日志中记录了数据更改的历史,所以你的应用程序可以在任何时候停止和重新启动,并且可以很容易地使用它没有运行时错过的所有事件,确保所有事件都被正确和完整地处理。开云体育官方注册网址Debezium是开源Apache许可证,版本2.0

参与

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

Baidu
map