Debezium 博客
随着 Debezium 0.9 的临近尾声,我非常高兴地宣布 2019 年的第一个 Debezium 版本,0.9.0.CR1!
在此版本中,我们主要专注于解决 Debezium SQL Server 连接器中剩余的问题;该连接器具有大大提高的性能,并已进行大量错误修复。
其他更改包括 Debezium 嵌入式引擎的事件处理程序的新接口,允许批量处理变更事件,一项将数字列的精度导出为模式参数的选项,以及 Debezium MySQL、Postgres 和 Oracle 连接器的一系列错误修复。
离年底只有几天了,是时候又一个 Debezium 版本了;因此,我非常高兴地宣布 Debezium 0.9.0.Beta2!
此版本支持 MySQL 8 和 Oracle 11g;它包含了 SQL Server 和 Oracle 连接器监控的第一个指标集,对 MongoDB 事件展平 SMT 进行了一些改进,以及大量的错误修复。总的来说,已解决不少于 42 个问题;非常明显,这其中一定有更深层的含义;)
特别感谢以下 Debezium 社区成员为这个版本做出的贡献:Eero Koplimets、Grzegorz Kołakowski、Hanlin Liu、Lao Mei、Renato Mefi、Tautvydas Januskevicius、Wout Scheepers 和 Zheng Wang!
接下来,让我们仔细看看 0.9 Beta2 版本带来的一些更改。
Hibernate ORM / JPA 的二级缓存是一种经过验证且高效的提高应用程序性能的方法:缓存只读或很少修改的实体可避免数据库往返,从而提高应用程序的响应时间。
与一级缓存不同,二级缓存与会话工厂(或 JPA 中的实体管理器工厂)相关联,因此其内容在事务和并发会话之间共享。理所当然,如果缓存的实体被修改,相应的缓存条目也必须被更新(或从缓存中清除)。只要数据更改是通过 Hibernate ORM 完成的,就无需担心:ORM 会自动更新缓存。
然而,当绕过应用程序(例如,直接修改数据库中的记录)时,事情就会变得棘手。此时,Hibernate ORM 无法知道缓存的数据已过时,因此有必要显式使受影响的条目失效。一种常见的做法是提供一些管理员功能,允许清除应用程序的缓存。为了使其正常工作,切勿忘记调用该失效功能至关重要,否则应用程序将继续使用过时缓存的数据。
在下文中,我们将探讨一种缓存失效的替代方法,该方法可以可靠且完全自动化地工作:通过利用 Debezium 及其变更数据捕获(CDC)功能,您可以直接在数据库中跟踪数据更改并对已应用的任何更改做出反应。这允许近实时地使受影响的缓存条目失效,而不会因遗漏更改而导致过时数据的风险。如果某个条目已从缓存中移除,Hibernate ORM 将在下次请求时从数据库加载该实体的最新版本。
我很高兴地宣布 Debezium 0.9.0.Beta1 的发布!哦,还有,祝你们那些庆祝的人——感恩节快乐!
这个新的 Debezium 版本为我们正在开发的 SQL Server 连接器带来了一些很棒的改进。
我很高兴地宣布 Debezium 0.9.0.Alpha2 的发布!
虽然 SQL Server 和 Oracle 连接器的开发仍在继续,但我们决定进行另一次 Alpha 版本发布,因为已经积累了大量的修复和新功能——其中许多是由社区成员贡献的,我们希望尽快将它们交给您。
此版本支持 Apache Kafka 2.0,支持 Postgres 的 HSTORE 列类型,允许重命名和过滤 MongoDB 变更数据消息中的字段,并包含多项错误修复和性能改进。总体而言,此版本包含55 项修复(请注意,其中一些已合并到 0.8.x 中,并且也包含在早期的 0.8 版本中)。