一、新功能和改进
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 或更高版本而不会出现标题。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |