电子商务网站开发的步骤,网站制作学什么,wordpress虾米,网站的轮播怎么做Debezium日常分享系列之#xff1a;Debezium 2.6.2.Final发布 一、新功能和改进1.Oracle 数据库查询过滤超过 1000 个表 二、修复和稳定性改进1.PostgreSQL 偏移刷新竞争条件2.Avro 兼容性 一、新功能和改进
1.Oracle 数据库查询过滤超过 1000 个表
Debezium Oracle 连接器允… Debezium日常分享系列之Debezium 2.6.2.Final发布 一、新功能和改进1.Oracle 数据库查询过滤超过 1000 个表 二、修复和稳定性改进1.PostgreSQL 偏移刷新竞争条件2.Avro 兼容性 一、新功能和改进
1.Oracle 数据库查询过滤超过 1000 个表
Debezium Oracle 连接器允许使用 log.mining.query.filter.mode 将表包含和排除列表配置为数据库查询的一部分以提高效率。将此配置属性设置为 in 值时将使用 SQL in 子句构造查询。在 Oracle 中内子句仅限于 1000 个元素如果您的连接器配置超出此限制查询将无法执行。
Debezium 2.6 通过创建正好包含 1000 个元素的子存储桶来解决此问题并且如果表包含和排除列表太大则使用由析取分隔的多个内从句构建查询。这改善了用户体验允许单个连接器使用查询过滤模式通过一次部署捕获一千多个表而无需诉诸正则表达式。
二、修复和稳定性改进
1.PostgreSQL 偏移刷新竞争条件
Debezium PostgreSQL 连接器要求我们不仅将偏移量元数据发布到 Kafka 来处理连接器重新启动而且连接器还必须将这些详细信息刷新到数据库的底层复制槽以防止 WAL 无限增长。
举个例子假设我们对 LSN 1 和 2 有两个更改。这两个更改分别写入两个不同的分区 A 和 B。由于这种情况是异步发生的因此可能对分区 B 的写入成功而对分区 A 的写入失败。
如果 Debezium 在 A 之前收到分区 B 的确认连接器会将 WAL 确认的 LSN 同步为 2。如果连接器在确认分区 A 之前失败或由于重新平衡而重新启动则在连接器重新启动时LSN 1 的更改将丢失。
此问题已在 Debezium 2.6 及以后版本中得到修复并且复制槽的已确认 LSN 将正确匹配主题中的状态。
2.Avro 兼容性
在 Debezium 2.5 中我们引入了几个新的时间戳字段 ts_us 和 ts_ns它们表示以微秒和纳秒为单位的基于毫秒的时间值。不幸的是这些字段没有以兼容的方式引入给使用 Avro的用户。
我们调整了更改事件架构使得引入的新字段是可选的使更改事件架构与旧版本兼容以便用户可以在使用 Avro 时升级到 Debezium 2.6 或更高版本而不会出现问题。