Debezium日常分享系列之:Debezium 2.5.0.CR1发布

2023-12-16 19:44

本文主要是介绍Debezium日常分享系列之:Debezium 2.5.0.CR1发布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Debezium日常分享系列之:Debezium 2.5.0.CR1发布

  • 一、重大变化
    • 1.Cloud Event 标头的架构名称
    • 2.MySQL BIT 默认长度
  • 二、新功能和改进
    • 1.重新选择列
    • 2.Debezium Server - 用于 Apache Kafka 接收器的 StreamNameMapper
    • 3.增量快照水印的 INSERT/DELETE 语义
    • 4.Debezium 服务器 - AWS SQS 接收器
    • 5.Oracle LOB 行为

Debezium 2.5.0.CR1 现已推出。此版本包括许多改进,例如 Debezium Server 的 AWS SQS 接收器、增量快照水印的 INSERT/DELETE 语义、ReselectColumnsPostProcessor、统一的 Oracle LOB 行为。

一、重大变化

此版本包含多项重大更改。

1.Cloud Event 标头的架构名称

Cloud Event 标头的架构名称前缀和字母大小写与负载名称不一致。架构名称已对齐,因此标头和有效负载共享相同的命名空间,并遵循相同的字母大小写规则 。

2.MySQL BIT 默认长度

如果没有设置的话,MySQL BIT 数据类型没有隐式长度。这是不正确的,因为如果未提供,则默认长度为 1。

二、新功能和改进

Debezium 2.5 还引入了更多改进和功能,让我们分别看一下。

1.重新选择列

在某些情况下,由于某些源数据库的工作方式,当 Debezium 连接器发出更改事件时,该事件可能会排除特定列类型的值。例如,PostgreSQL 中的 TOAST 列、Oracle 中的 LOB 列或 Oracle Exadata 中的扩展字符串列的值可能全部被排除。

Debezium 2.5 引入了 ReselectColumnsPostProcessor,提供了一种从数据库表中重新选择一个或多个列并获取当前状态的方法。可以配置后处理器以重新选择以下列类型:

  • 空列。
  • 包含 unavailable.value.placeholder 标记值的列。

配置 PostProcessor 与配置 CustomConverter 或 Transformation 类似,不同之处在于它适用于可变负载的 Struct 而不是 SourceRecord。

2.Debezium Server - 用于 Apache Kafka 接收器的 StreamNameMapper

现在可以通过自定义逻辑修改 Kafka 接收器行为,为特定功能提供替代实现。当替代实现不可用时,则使用默认实现。

3.增量快照水印的 INSERT/DELETE 语义

引入了属性incremental.snapshot.watermarking.strategy,让用户可以选择在增量快照期间使用的水印策略。

insert_insert(旧行为)方法让 Debezium 在快照期间为每个块在信令数据集合中创建两个条目,以发出快照窗口打开的信号,并使用另一个条目来标记其关闭。

另一方面,使用 insert_delete 选项,在窗口开头的每个块的信令数据集合中写入单个条目。完成后,该条目被删除,并且不再添加相应的条目,以表示快照窗口的关闭。该方法有助于更有效地管理信令数据收集。

4.Debezium 服务器 - AWS SQS 接收器

Amazon Simple Queue Service (Amazon SQS) 是一种分布式消息队列服务。它支持通过 Web 服务应用程序以编程方式发送消息,作为通过 Internet 进行通信的一种方式。 SQS 旨在提供高度可扩展的托管消息队列,解决常见的生产者-消费者问题或生产者与消费者之间的连接问题。

Debezium 2.5 提供了将事件发送到 Amazon SQS 的可能性。

5.Oracle LOB 行为

Debezium 2.5 调整了快照和流中的 LOB 行为。当 lob.enabled 设置为 false 时,将在快照期间显式包含不可用值占位符,以匹配流的行为。

这篇关于Debezium日常分享系列之:Debezium 2.5.0.CR1发布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/501656

相关文章

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

最便宜的8口2.5G网管交换机! 水星SE109 Pro拆机测评

《最便宜的8口2.5G网管交换机!水星SE109Pro拆机测评》水星SE109Pro价格很便宜,水星SE109Pro,外观、接口,和SE109一样,区别Pro是网管型的,下面我们就来看看详细拆... 听说水星SE109 Pro开卖了,PDD卖 220元,于是买回来javascript拆机看看。推荐阅读:水

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

Python中处理NaN值的技巧分享

《Python中处理NaN值的技巧分享》在数据科学和数据分析领域,NaN(NotaNumber)是一个常见的概念,它表示一个缺失或未定义的数值,在Python中,尤其是在使用pandas库处理数据时,... 目录NaN 值的来源和影响使用 pandas 的 isna()和 isnull()函数直接比较 Na