Debezium发布历史149

2024-02-25 11:20
文章标签 历史 发布 149 debezium

本文主要是介绍Debezium发布历史149,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址: https://debezium.io/blog/2023/06/21/debezium-2-3-final-released/

欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.

Debezium 2.3.0.Final Released
June 21, 2023 by Chris Cranford
releases mongodb mysql postgres sqlserver caassandra oracle db2 vitess outbox spanner

在过去的几个月里,团队一直在忙于准备一个压缩的Debezum2.3的释放时间表,我很高兴地宣布下一期的销售已经到了, 2.3.0.Final 现在可以使用了!

尽管有一个压缩释放时间表,这个版本充满了新的功能和改进。Debezum2.3包括一个全新的通知子系统、改写信号子系统以支持将信号发送到Debez连接器的附加手段、引入JDBC存储模块以维持关系数据库中的Debezum状态、对VIVESSARD处理进行并行化、后GRESQL连接器副本标识改进、为库贝内特斯建立一个全新的Debezum服务器操作器、支持精确的、曾用于后数据库的语义学SQL连接器和甲骨文连接器的改进。

让我们花点时间来谈谈任何突破性的改变和所有这些改进,以及它们为什么如此重要!

突破性变化

新的特点和改进

其他变动

下一步是什么

你也可以找到一个完整的变化列表。 释放说明 .

突破性变化
我们通常试图避免尽可能多地在小版本中打破更改,但不幸的是,有时这种改变是不可避免的,特别是如果某一特性可能是 实验的 .根据您是从预览版本升级的,还是从早期的稳定版本升级的,Debezum2.3引入了两个破坏性更改:

后置ql/mysql安全连接更改

JDBC存储编码更改

后置ql/mysql安全连接更改
可以将后GRESSL和mysql的德贝兹配置为使用安全的SSL连接。对于后置SQL,可以通过配置实现database.sslmode 对于mysql来说这可以用database.ssl.mode .

使用Debezum2.3,这个配置选项不再默认disable (后问题)或disabled (mysql)而不是默认prefer (后问题)和preferred (mysql)。这意味着,在尝试使用加密的安全连接连接时,除非另有配置,否则连接器在默认情况下将返回到使用无担保连接。

JDBC存储编码更改
2.3.0.阿尔法1介绍了新的 实验的 JDBC存储模块。这个存储模块默认使用UTF-16作为默认编码;然而,大多数数据库更喜欢使用UTF-8作为默认编码。如果您是从2.3.0.阿尔法1升级,2.3.0.Beta1,以及以后在使用JDBC存储模块存储数据时使用UTF-8,以与典型的数据库默认值保持一致。

新的特点和改进
德贝兹2.3包含了大量的新功能改进,其中包括:

库贝内特斯德贝兹特服务器操作员

新的通知子系统

新的可扩展信号子系统

Jmx信号和通知集成

新的JDBC存储模块

一旦交付后行流

重复标识更改

甲骨文RAC改进

库贝内特斯德贝兹特服务器操作员
这个版本介绍了 预演 版本的新德贝泽斯操作员,提供部署和管理德贝泽斯服务器实例的能力库贝内特斯。Debezum服务器允许您将更改事件从您的数据源流到各种各样的消息传递基础结构。我们的目标是为希望利用库伯内特斯进行可伸缩性和高可用性部署的德贝兹社区提供一个无卡夫卡的替代方案。

目前,文档很少,因为操作符处于早期孵化阶段;然而,我们确实打算在即将到来的发布周期中改进这一点。你能找到 部署实例 及其基本描述 定制资源规范 在GITUUB存储库中,您可以将其用作短期的引用。

我们目前不建议对这个组件进行生产部署;但是,我们鼓励用户提供社区反馈。反馈对于评估组件是否已准备就绪或是否仍有改进的领域来满足每个人的需求是有价值的。

新的通知子系统
Debezum2.3引入了一个全新的特性,叫做通知,它允许Debez铵释放任何外部系统可以消耗的事件,以了解Debez铵生命周期各个阶段的状态。

通知事件被表示为一系列键/值元组,其结构包含几个非框字段。下面是一个简单通知事件的例子。

示例通知事件
{
“id”: “c485ccc3-16ff-47cc-b4e8-b56a57c3bad2”,
“aggregate_type”: “Snapshot”,
“type”: “Started”,
“additional_data”: {

}
}
每个通知事件包括id 字段,一个UUID来识别通知,一个aggregate_type 通知所涉及的领域基于域驱动设计的概念,type 表示提供关于聚合类型本身的更多细节的字段,以及可选的additional_data 该字段由一个基于字符串的键/值对的地图组成,并附有关于事件的额外信息。

目前,有两种通知事件类型由Debezns支持:

初始快照的状况

监测递增快照

初始快照通知
初始快照是连接器首次启动时对现有数据的一致捕获。初始快照事件将有一个聚合类型,其值为:“Initial Snapshot” 事件的类型由三个逻辑值组成:

SKIPPED
表示跳过的初始快照。

ABORTED
表示终止的初始快照。

COMPLETED
表示已成功结束的初始快照。

以下是关于完成初始快照的通知示例:

已完成事件示例快照
{
“id”: “5563ae14-49f8-4579-9641-c1bbc2d76f99”,
“aggregate_type”: “Initial Snapshot”,
“type”: “COMPLETED”
}
增量快照通知
增量快照是在连接器正在进行主动流更改时从已配置的一组表中捕获现有数据。增量快照事件将具有具有"Incremental Snapshot" 这个类型将由几个逻辑值组成:

STARTED
表示已开始增量快照。

PAUSED
表示增量快照暂时暂停。

RESUMED
表示已暂停的增量快照现已恢复。

STOPPED
表示已停止增量快照。

IN_PROGRESS
表示正在进行增量快照。

TABLE_SCAN_COMPLETED
表示给定表的增量快照。

COMPLETED
指示所有表的增量快照。

配置通知
通过连接器的配置来配置德贝司通知。下面的例子展示了如何配置出框卡夫卡主题或基于日志的通道。

使用卡夫卡主题
{
“notification.enable.channels”: “sink”,
“notification.sink.topic.name”: “debezium_notifications”,

}
使用连接器日志
{
“notification.enable.channels”: “log”
}
新的可扩展信号子系统
自从引入增量快照特性以来,DEBeZUS支持信号的概念。信号非常重要,因为它允许您提供元数据来指示Debezns执行给定的任务,无论该任务是要编写连接器日志的条目,还是执行临时的增量快照。

在德贝兹2.3中,对信号子系统进行了改造,以引入 通道 ,代表一种介质,用来监视或监听信号并对其作出反应。在以前的版本中,有一个跨连接器普遍支持的通道,这就是数据库信号表。在本版本中,这些渠道已经统一,以下渠道可以从盒子中获得:

数据库信号表

卡夫卡信号话题

文件系统

Jmx

但这并不是全部,信号通道契约是可扩展的,允许您编写自定义实现,并轻松地将其提供给连接器。

信号和通知整合
德贝兹2.3以前引入了一个新的信号通道和通知功能。这个功能允许外部应用程序容易地与Debezum集成,发送信号来执行各种任务,例如临时的增量快照,并接收关于这些任务进展的通知。这个版本在此功能的基础上进行构建,以允许通过JMDA发送信号和接收通知的能力。

发出信号
在这个版本中,信号信道子系统得到了改进,以支持通过jmx发送信号。来自jconsole 窗口,您现在可以看到连接器有两个新的子部分,通知和信号部分如下所示:
图片来自官网原文
在这里插入图片描述

JCOSP指标
新的signals 节允许您调用一个操作上的jmx豆,以便传输信号到Debezns。这个信号类似于逻辑信号表结构,它接受3个参数、一个唯一的标识符、信号类型,最后是信号有效载荷。下表说明了这是从jconsole :
图片来自官网原文
在这里插入图片描述

发射信号
接收通知书
新的notifications 部分允许您接收并响应JMDABean从Debezum捕获的通知。DEBeZMIMNY将缓冲所有通知,以确保没有遗漏通知。下表说明了这是从jconsole :
图片来自官网原文
在这里插入图片描述

接收通知
JMDABean不会自动清除通知队列。为了避免内存问题,一定要调用reset 一旦处理完所有通知,通知书中的方法就会出现。

我们期待您的反馈,这一新的方式集成信号和通知与Debezum在JMDA上。

新的JDBC存储子系统
Debezum2.3介绍了一个新的存储模块实现,支持通过JDBC在数据存储中持续架构历史和偏移数据。对于您可能无法方便地访问持久性文件系统的环境,这提供了另一种通过远程持久性存储平台进行存储的选择。

为了利用这个新模块,必须在项目或应用程序中添加以下依赖项:

马文坐标

io.debezium
debezium-storage-jdbc
2.3.0.Final

下面的例子说明如何通过JDBC存储模块配置偏移或架构历史存储:

偏移JDBC存储的配置示例
{
“offset.storage.jdbc.url”: “”,
“offset.storage.jdbc.user”: “dbuser”,
“offset.storage.jdbc.password”: “secret”,
“offset.storage.jdbc.offset_table_name”: “debezium_offset_storage”
}
架构历史JDBC存储的配置示例
{
“schema.history.internal.jdbc.url”: “”,
“schema.history.internal.jdbc.user”: “dbuser”,
“schema.history.internal.jdbc.password”: “secret”,
“schema.history.internal.jdbc.schema.history.table.name”: “debezium_database_history”
}
一旦交付后行流
重氮传统上一直是一个一旦交付的解决方案,保证不会错过任何变化。确切地说,这是阿帕奇卡夫卡社区提出的一项提案,作为阿帕奇卡夫卡社区的一部分。 KIP-618 .该建议旨在解决生产者(源连接器)的一个共同问题,即生产者重试时,它可能会将一批事件重新发送给卡夫卡经纪人,即使该批已由经纪人提交。这意味着在某些情况下,可能会发送重复事件,而并非每个消费者(接收器连接器)都能够很容易地处理此类情况。

Debezum计划以一种分阶段的方式展开一次性的传递语义。在快照和流的周围有一些特殊的角角案例,这些案例可能因连接器而异。在此基础上,Debezum2.3首先专门为后SQL添加了非常简单的语义支持。 流动阶段 只是!

为了充分利用这一优势,一旦交付,就不需要对连接器配置进行更改;但是,需要对您的卡夫卡连接工作人员配置进行调整,以启用此功能。你可以在 KIP-618 .

如果您将连接器混合在同一个连接集群上,这样做和不支持一次交付,您将无法设置exactly.once.support 在工人配置中required 因为这将导致不支持此功能的连接器在启动时失败验证。

重复标识更改
Debezum2.3介绍了一个新的后GRESQL连接器特性,称为"自动复制身份"。

复制标识是后格来格sql对插入、更新和删除的数据库事务日志中捕获的列的识别方法。这个新功能允许通过连接器配置配置表的副本标识,并在启动时将设置此配置的责任下放给连接器。

新的配置选项,replica.identity.autoset.values ,指定以逗号分隔的表和副本标识元组列表。如果表已经有一个给定的副本标识,则将覆盖该标识以匹配如果表被包含的话在此配置中指定的内容。后格SQL支持几个副本标识类型,有关这些类型的更多信息可在 文件 .

在指定replica.identity.autoset.values ,该值是一个逗号分隔的值列表,每个元素都使用: .下面是一个例子,其中两个表被配置为具有完整的副本标识:

{
“replica.identity.autoset.values”: “public.table1:FULL,public.table2:FULL”
}
甲骨文RAC改进
连接到甲骨文RAC安装时,必须指定rac.nodes 配置属性,具有集群中所有单个节点的最小主机地址或IP地址。旧版本的连接器也支持不同的格式,允许为每个节点包含一个端口,因为集群上的每个节点可能使用同一端口。

Debezum2.3改进了甲骨文RAC支持,还承认每个节点不一定使用相同的甲骨文站点标识符(SID),因此,现在也可以将SID包含在rac.nodes 配置财产以支持此类安装。

下面的例子说明了连接到两个甲骨文RAC节点,每个节点使用不同的端口和SID参数:

配置示例
{
“connector.class”: “io.debezium.connector.oracle.OracleConnector”,
“rac.nodes”: “host1.domain.com:1521/ORCLSID1,host2.domain.com:1522/ORCLSID2”,

}
其他补救措施
在这个版本中出现了相当多的缺陷和稳定性变化,值得注意的是:

德贝齐斯服务器停止向谷歌云酒吧/子服务器发送事件 DBZ-5175

烤变字符数组和日期数组没有正确处理 DBZ-6122

升级至英菲尼斯潘14.0.11.最后,以修复CE-2022-45047 DBZ-6193

引入物流者查询过滤模式 DBZ-6254

在部署多个连接器时锁定日志中的争用点 DBZ-6256

确保连接器可以从陈旧的时间戳开始到过去的一个多小时。 DBZ-6307

甲骨文更改事件源信息块中的rs_id字段为空 DBZ-6329

向http客户端添加JRT身份验证 DBZ-6348

使用后进10不支持的项目。 DBZ-6353

记录,记录,处理,保留。小时应参照最后偏移,而不是合并。 DBZ-6355

流碎片列表支持多个任务 DBZ-6365

改进SKIPP的代码。 DBZ-6366

动力学汇----无线服务证书提供商 DBZ-6372

没有正确地处理烤的养狗店 DBZ-6379

无法解析用于表分区的甲骨文DDL缩小空间 DBZ-6386

为SQL服务器设置未来的操作日期 DBZ-6388

由于复制槽处于活动状态,连接器任务无法恢复流处理 DBZ-6396

基于数据库的数据没有正确地保持没有时差的日期和时间值。 DBZ-6399

蒙戈德连接器崩溃在无效简历令牌上 DBZ-6402

快照第五步-捕获桌的阅读结构太长 DBZ-6439

启动只读mysql连接器 DBZ-6440

使用多租赁时,甲骨文并行快照没有适当设置PDB上下文 DBZ-6457

[Mariadb]添加对用户统计插件关键词的支持 DBZ-6459

从谷歌BUB/子错误中无法恢复德贝齐斯服务器 DBZ-6461

“忽略提供的无效任务” DBZ-6463

清单应以文档中的数据库名称为前缀。 DBZ-6474

在通知发送时,DB2连接器可能与NPE发生故障 DBZ-6485

新记录状态SMT与头值SMT相结合会导致意外的字段名称异常 DBZ-6486

当队列内存大小限制到位时,大小数失败 DBZ-6490

允许在德贝兹汇连接器配置中指定架构 DBZ-6491

甲骨文表无法捕获,无法获得运行时间。 DBZ-6492

信号轮询间隔具有错误的默认值 DBZ-6496

甲骨文JDBC驱动器23.X投出ORA-18716-没有在任何时差 DBZ-6502

阿尔卑斯公园图片应明确使用LLVM/LLang15 DBZ-6506

文件信号通道没有加载 DBZ-6509

利用事件。处理。失败。处理。活复制连接模式 DBZ-6510

Mysqledonludly弹换用事件源在初始化期间强制执行卡夫卡依赖性 DBZ-6511

德贝兹增量快照块大小文档不清楚或错误 DBZ-6512

在转换日之间负秒的错误值 DBZ-6513

德贝兹增量快照块大小文档不清楚或错误 DBZ-6515

对某些错误只使用错误处理方式 DBZ-6523

[后GRESQLTERY]数据没有被流捕获 DBZ-6524

甲骨文连接器:特定组合的快照失败 DBZ-6528

在分组路由中使用更好的散列功能 DBZ-6529

快照上的表顺序不正确 DBZ-6533

开始为德贝兹姆操作员发布夜间图像 DBZ-6541

开始为德贝司操作员发布图像 DBZ-6542

部分路由中未处理的未处理的未接收将使整个连接插件崩溃 DBZ-6543

现场有虫。名称。调整。模式财产 DBZ-6559

运算符设置不正确的转换值。 DBZ-6560

将mysqJDBC驱动程序升级到8.0.33 DBZ-6563

将谷歌云BOM升级到26.17.0 DBZ-6570

由于K8的启动,库伯特-康菲扩展会干扰SSL测试 DBZ-6574

与卡夫卡信号的只读连接器在启动时失败 DBZ-6579

雷迪斯架构历史可能在启动时失败 DBZ-6580

一起来, 138期 已经做好了准备。非常感谢所有参与这个版本的社区的贡献者: 安德烈 , 安格舒曼·戴伊 , 阿尼尔·达萨里 , 阿尼莎 , 伯特兰·帕奎特 , 鲍勃·罗丹 , 布雷诺·莫雷拉 , 克兰福德 , 基督教雅各孟西 , 大卫贝克 , 弗雷德里克·洛朗 , 公长华 , , 乌马基神童 , 侯赛因·安萨里 , 因德拉舒克拉 , 伊斯梅尔·辛塞克 , 杰克布切切克 , 杰西·埃伦兹韦格 , 伊里·帕坎奇c , 约翰·沙兰达 , 坎提萨布拉曼尼亚人 , 卡特琳娜·加里耶娃 , 马里奥菲奥尔维塔莱 , 马丁·梅戴克 , 米格尔·安赫尔·索托马约尔 , 徐南希 , 尼尔利维 , 翁德雷杰巴贝克 , 奥伦伊利亚 , Rj诺林 , 勒内·克纳 , 罗丹 , 罗纳克杰因 , 谢尔盖艾兹纳 , 张舒兰 , 斯蒂芬克拉克森 , 托马斯桑顿 , 汤米·卡尔松 , 托尼约瑟夫 , 沃伊泰克 ,以及 蔡灿材 !

接下来呢?
随着德贝兹2.3的退出,我们的主要重点将是协调对任何德贝兹2.3报告的修复,但主要是即将发布的新的德贝兹2.4预览版本。

德贝兹2.4计划进行大量的修改,我们打算用一个大桶的方式处理这些变化,每个桶被分配一个优先级。同任何时间表一样,优先次序可能会改变,但以下是预期情况的概要:

优先事项1
[核心]时间表b

[核心]时差单消息转换,以方便使用德贝兹时态类型

[核心]初步快照通知

[蒙戈数据库]全数据库更改流支持

多任务部署度量支持

[甲骨文]开放式适配器支持

[甲骨文]XML,长、粗和长的原始数据类型支持

[通用]对其他连接器的语义支持

[依赖]阿帕奇卡夫卡3.5.X支持

优先事项2
[操作员]德贝兹操作员的下一步

[核心]临时阻塞快照

[依赖性]使用机会

优先事项3
[嵌入式引擎]并行化支持

并行增量快照支持

[mysql]并行架构快照支持

这并不是一个详尽无遗的清单,也不是一个雄心勃勃的清单,但是考虑到德贝兹2.3的时间缩短了,我们希望德贝兹2.4的额外几个星期将使下一个小版本成为可能,所有这些功能和更多。路线图将于本周更新,以与上述的德贝齐姆2.4和未来的路线图保持一致,因此请务必与我们联系,了解 邮寄清单 或我们的 聊天 如果你有任何想法或建议。

否则的话,我希望随着我们北方人的夏天的到来,在接下来的几个月里,假期和应得的休假将是正常的。给那些旅行或打算为自己和家人花费一些时间,享受和安全的人!

直到下次…

这篇关于Debezium发布历史149的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

从希腊神话到好莱坞大片,人工智能的七大历史时期值得铭记

本文选自historyextra,机器之心编译出品,参与成员:Angulia、小樱、柒柒、孟婷 你可能听过「技术奇点」,即本世纪某个阶段将出现超级智能,那时,技术将会以人类难以想象的速度飞速发展。同样,黑洞也是一个奇点,在其上任何物理定律都不适用;因此,技术奇点也是超越未来理解范围的一点。 然而,在我们到达那个奇点之前(假设我们能到达),还存在另一个极大的不连续问题,我将它称之

C++编程:ZeroMQ进程间(订阅-发布)通信配置优化

文章目录 0. 概述1. 发布者同步发送(pub)与订阅者异步接收(sub)示例代码可能的副作用: 2. 适度增加缓存和队列示例代码副作用: 3. 动态的IPC通道管理示例代码副作用: 4. 接收消息的超时设置示例代码副作用: 5. 增加I/O线程数量示例代码副作用: 6. 异步消息发送(使用`dontwait`标志)示例代码副作用: 7. 其他可以考虑的优化项7.1 立即发送(ZMQ_IM

风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架

论文链接:https://arxiv.org/pdf/2408.16766 项目链接:https://csgo-gen.github.io/ 亮点直击 构建了一个专门用于风格迁移的数据集设计了一个简单但有效的端到端训练的风格迁移框架CSGO框架,以验证这个大规模数据集在风格迁移中的有益效果。引入了内容对齐评分(Content Alignment Score,简称CAS)来评估风格迁移

Eclipse发布Maven项目到tomcat,无法加载到lib文件夹下的jar包

BMS 解决方法: 当我们发布web项目到tomcat时,访问地址时会报一个classnotfound的错误,但是eclipse中的项目中都已经添加了相应的类,有一种比较容易犯的错误是,你没有把额外所需的jar包加到tomcat中的lib文件夹中,在这里介绍一种在项目中直接添加jar包到lib目录下:  右键已创建的web项目——properties属性——点击Deployment Assem

1-3 微信小程序协同工作和发布

协同工作和发布 🥟🥞以权限管理需求为例 一个项目组,一般有不同的岗位,不同角色的员工同时参与项目成员 流程 成员管理的两个方面 不同项目成员对应的权限 版本