Debezium发布历史158

原文地址: https://debezium.io/blog/2023/08/29/debezium-2-4-beta1-released/

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

Debezium 2.4.0.Beta1 Released
August 29, 2023 by Chris Cranford
releases mongodb mysql postgres sqlserver cassandra oracle db2 vitess outbox spanner

尽管随着我们继续推进德贝唑2.4的发展,我们仍然坚定不移,但我很高兴地宣布 2.4.0.Beta1 .

虽然此版本侧重于稳定性和错误修复,但有几个新的值得注意的功能,包括时间表支持、使用JSON有效负载的JMM通知、甲骨文连接器的度量和嵌入式的英菲尼斯潘缓冲区实现的多项改进、SQL服务器的心跳、基于SQL服务器标识的插入器的VVESSBS战略、JDBC接收器等等。让我们更详细地研究每个新功能和其他功能。

支助b
时标数据库是一个基于开放源代码的基于时间序列的数据库,基于后GERGSQL。这意味着支持时间自动化b的大量功能直接来自于现有的后行SQL连接器;然而,时间自动化b的某些方面,如块、超表和集合,却不是。

因此,如果您想开始使用Debezum2.4和时间表,那么集成就需要同时使用一个新的后置SQL连接器和一个新的连接器。TimescaleDb 单消息转换(SMT)。这两者的组合提供了从时间表环境中流出更改的能力,这些更改具有基于块、超表和聚合的适当表名。

…TimescaleDb 可通过io.debezium.connector.postgresql.transforms.timescaledb 并负责在使用块、超表和聚合时调整最终主题名称。此外,此转换将元数据头添加到更改事件中,这样您就可以相应地知道原始的块名称、块表、超表模式和表名称。

使用JSON用户数据的JMX通知
Debezum2.4改变JMDA通知提供用户数据的方式。在以前的版本中,通知使用了toString() 样式实现虽然有效,但与其他结构化程度更高的格式(如JSON)不同,它不能提供任何良好的向前或向后兼容性语义。

今后,将以JSON的形式提供JDB2通知的用户数据,从而使今后更容易和更可靠地解析和支持可扩展性,而不必担心向后兼容性。我们希望这能使这一功能更易于使用,并欢迎任何其他反馈。

甲骨文连接器基于SCN的度量
甲骨文追踪各种系统更改数,通常被称为SCN,在其JDB2指标中的值包括OffsetScn ,CurrentScn ,OldestScn ,以及CommittedScn .这些SCN值是数字的,通常会超过一个数字的上界。Long 数据类型,因此德贝兹传统上把这些值String s.

不幸的是,格拉法纳和普罗米修斯这样的工具无法与String 基于价值的,社区希望能够从度量收集框架中查看这些值,这已经被多次提出。使用Debezr2.4,这些JDB2指标会有一个小的行为变化,因为它们不再被暴露于String 但现在却暴露了BigInteger 价值观。

这种行为上的变化允许工具,如格拉法纳和普罗米修斯,现在可以自动从jmx豆中刮取这些值,用于报告和可观察性堆栈。

如果你以前为其他目的收集这些值,请注意它们不再是基于字符串的,应该被解释为BigInteger 数值向前移动。

甲骨文连接器最大交易年限度量
甲骨文连接器提供了大量的数据,包括OldestScn 表示连接器事务缓冲区中最老的系统更改号的度量值。这个SCN可以帮助我们了解事务相对于当前系统更改数的缓冲距离,CurrentScn .然而,系统更改数只是简单地说,需要使用数据库函数的数值调用来知道更改何时发生。

连接器从Debezr2.4开始,现在还将通过提供一个新的度量来跟踪最老的系统更改号的年龄OldestScnAgeInMilliseconds .这个指标是根据OffsetScn 计算该时间和度量的查询时间之间的差异,给出一个粗略的时间,在缓冲区中最老的事务的毫秒,该事务尚未提交或回滚。

如果您可能有兴趣帮助其他指标,请与我们联系,让我们知道。

嵌入式无限结构变化
甲骨文连接器支持三种不同的缓冲技术,一种是基于JVM堆,而另两种是基于使用英菲尼斯潘的非堆存储。在使用Inffiisan时,您可以选择使用远程集群,其中缓存通过远程连接存储和管理,或者使用嵌入式集群,其中集群由连接器本身在本地管理。

在使用远程英菲尼斯潘集群时,有一些集群配置作为英菲尼斯潘安装本身的一部分,这通常被称为全局或集群配置。然而,当使用嵌入式英菲尼斯潘集群时,Debezum仅仅使用了嵌入式集群的默认配置,可能并不总是为每个环境提供所有必要的行为。

德贝兹2.4引入了一种新的配置特性,log.mining.buffer.infinispan.cache.global .此属性允许为无限"全局"或"集群"配置指定XML配置。

配置示例





使用Debezum2.4,如果您正在使用无限泛嵌入式缓冲区,您现在可以安全地配置整个嵌入式全域配置,这可以允许您在使用嵌入式无限泛引擎时调整和提高整体性能。

Sql切断心跳改善
数据库在一段时间内没有发生任何相关的更改,无论是由于不活动还是由于基于配置的连接器不感兴趣而发生的更改,这种情况并不少见。在这些情况下,至关重要的是,连接器管理的偏移元数据在这些期间与偏移支持存储保持同步,这样连接器的重新启动就会像预期的那样工作。

使用Debezum2.4,如果SQL服务器更改捕获循环没有发现任何更改,或者发生的更改与连接器无关,则连接器在启用时将继续发出心跳事件。这将提高存储在不同用例的偏移支持存储中的补偿的可靠性。

无生命的命名策略
Debezum2.4.0.阿尔法2引入了一种机制,通过在标识表的关系标识符时使用碎片名作为目录来处理每个碎片的架构更改。当使用时DefaultTopicNamingStrategy 这产生了副作用,即碎片将被包括在主题名称中,这可能是不可取的。

Beta1引入了一种新的策略,使旧的行为成为TableTopicNamingStrategy .

下表显示基于不同策略的主题名称的输出差异:

策略 题目输出
DefaultTopicNamingStrategy

<topic.prefix>..

TableTopicNamingStrategy

<topic.prefix>.

为了配置表主题命名策略,包括连接器的下列配置:

topic.naming.strategy=io.debezium.connector.vitess.TableTopicNamingStrategy
JDBC接收器SQL服务器标识插入
每个数据库将不同的值插入到基于身份的列中。对于SQL服务器,这就需要IDENTITY_INSERT 在插入和禁用此功能之前。与德贝兹2.4,德贝兹JDBC接收器连接器在目标数据库中为此提供支持。

为了利用基于标识的插入,JDBC接收器连接器必须配置一个新的基于数字的属性dialect.sqlserver.identity.inserts ,可设定为true 或false .默认情况下,此功能设置为false 如果希望插入到基于标识的列中,则必须启用。

一旦启用,所有的 插入 和 更新的 行动将包括以下内容:

SET IDENTITY_INSERT ON;

SET IDENTITY_INSERT OFF;
其他修复和改进
在这个版本中有几个缺陷和稳定性变化,值得注意的是:

行动。在写信给瓦尔之前,询问是不会开始的。 DBZ-6635

用自定义主题命名策略更改架构名称 DBZ-6641

在JdbcSinghk连接器中的标识符错误行为 DBZ-6682

烤UUID阵列处理不当 DBZ-6720

在解析mysqddl语句时(特定连接) DBZ-6724

阻塞快照必须从信号中获取快照配置 DBZ-6731

在PG输出连接器中使用PG输出时,(+/-)在十进制值中不支持无限大 DBZ-6758

输出箱转换会导致连接器崩溃 DBZ-6760

新文档状态提取:Add标题不存在字段 DBZ-6774

蒙戈德连接器测试在2.7-RC版本执行时严重失败 DBZ-6779

在解析mysqdl语句时,dbz崩溃(选择1)。😉 DBZ-6780

在没有任何配置文件的情况下执行Mysql连接器测试失败 DBZ-6791

在解析mysqdl语句时,dbz崩溃了(选择1+@1539:=1作为SS;) DBZ-6794

MysqlDDL解析器-重复函数未被接受 DBZ-6803

修复错误与获得弹射任务 DBZ-6820

DBZ在DDL语句上崩溃(变量中的非拉丁字符) DBZ-6821

在解析mysqDDL时,不削减大和小类型的默认值 DBZ-6824

#应该在新的现场信息随机失败 DBZ-6839

错误筛选的评论 DBZ-6840

间歇性试验失败:基础测试失败。 DBZ-6841

使用时skip.messages.without.change=true 每条记录都报告一条警告日志消息 DBZ-6843

总共, 39期 已经做好了准备。 安德烈亚斯·马滕斯 , 阿尼尔·达萨里 , 阿尼莎 , 鲍勃·罗丹 , 克里斯比尔德 , 克兰福德 ,马坦·科恩, 埃姆雷·阿克格登 , 埃里克潘贾万 , 恒鲁 , , 杰里米·福特 , 伊日诺沃特尼 , 伊里·帕坎奇c , M.阿克金姆 , 马里奥菲奥尔维塔莱 , 徐南希 , 翁德雷杰巴贝克 , 拉金德拉·当瓦尔 , 张舒兰 , 斯坦因·罗文克 , 孙小健 , 托马斯桑顿 , 沃伊泰克 , 吴振华 , 小坚太阳

下一步是什么?
当我们进入德贝佐姆2.4的β阶段时,接下来的几个星期将主要集中在"补钉和稳定"上,因为我们将继续向前迈进,在9月底最终发布。我们也是在最后一分钟更改的开放式消化器摄入方法甲骨文和一旦完成,预期不久后一个贝塔2。此外,下周早些时候将会有最后维护版本2.3.3.3,而且可能会有至少一个2.3版本,因为我们将在下个月晚些时候过渡到最终维护版本2.4,作为新的稳定版本。

此外,德贝兹社区活动的议程和日期将在本周晚些时候公布,所以要密切注意这一消息。最后,我们将在下个月晚些时候的卡夫卡峰会上介绍。如果你打算参加,并且想问专家,一定要联系我或者团队中的任何人,我们可以计划会面并讨论任何有关Debez铵和疾病预防控制中心的事情。

一如既往,如果你有任何想法或建议,你也可以与我们联系。 邮寄清单 或我们的 聊天 .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/708417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6.5 共享数据

本节介绍Android的四大组件之一ContentProvider的基本概念和常见用法&#xff1a;首先说明如何使用内容提供器封装内部数据的外部访问接口&#xff0c;然后阐述如何使用内容解析器通过外部接口操作内部数据&#xff0c;最后叙述如何利用内容解析器读写联系人信息&#xff0c;以…

10_Vue

文章目录 Vue快速入门Vue的指令Vue的插值表达式V指令v-bind&#xff08;单向绑定&#xff09;v-model&#xff08;双向绑定&#xff09;v-on&#xff08;事件监听&#xff09;v-for&#xff08;循环&#xff09;v-text、v-htmlv-show&#xff08;显示/隐藏&#xff09;v-if&…

学习加密(三)spring boot 使用RSA非对称加密,前后端传递参数加解密

1.前面一篇是AES对称加密写了一个demo,为了后面的两者结合使用,今天去了解学习了下RSA非对称加密. 2.这是百度百科对(对称加密丶非对称加密)的解释: (1)对称加密算法在加密和解密时使用的是同一个秘钥。 (2)非对称加密算法需要两个密钥来进行加密和解密&#xff0c;这两个秘钥…

了解GPT:ChatGPT的终极指南

在人工智能&#xff08;AI&#xff09;的世界里&#xff0c;有一颗冉冉升起的新星正在革命性地改变我们与机器的交互方式&#xff1a;ChatGPT。在本文中&#xff0c;我们将深入研究什么是ChatGPT&#xff0c;为什么底层技术GPT如此强大&#xff0c;以及它是如何实现其卓越功能的…

excel导出标准化

虽然标题叫标准化&#xff0c;只不过是我自己的习惯&#xff0c;当一件事情变得流程标准化之后&#xff0c;开发程序就会飞快&#xff0c;开发评估工作总是 搞个1~2天&#xff0c;实则前端后端一起开发&#xff0c;1个小时就可以搞定。 1 前端 const exportXls async () >…

C++重点---STL简介

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、STL简介 STL&#xff08;Standard Template Library&#xff09;是C标准库中的一个重要组成部分&#xff0c;它提供了…

iOS中卡顿产生的主要原因及优化思路

卡顿本质上是一个UI体验上的问题&#xff0c;而UI的渲染及显示&#xff0c;主要涉及CPU和GPU两个层面。若 CPUGPU渲染耗时超过16.7ms&#xff0c;就会在屏幕vsync信号到来时无法更新屏幕内容&#xff0c;进而导致卡顿。 iOS中UI渲染主要包含Layout->Draw->Prepare->Co…

MySQL5.7.44版本压缩包在Win11系统快速安装

一.背景 主要还是为了公司的带徒弟任务。我自己也喜欢MySQL的绿色版本。 1.软件版本说明 MySQL版本&#xff1a;5.7.44 压缩包版本&#xff0c;相当于绿色版。当然&#xff0c;你也可以使用window系统的Installer版本去安装。 操作系统&#xff1a;Win11家庭版 二.MySQL软…

electron-release-server部署electron自动更新服务器记录

目录 一、前言 环境 二、步骤 1、下载上传electron-release-server到服务器 2、宝塔新建node项目网站 3、安装依赖 ①npm install ②安装并配置postgres数据库 ③修改项目配置文件 ④启动项目 ⑤修改postgres的认证方式 ⑥Cannot find where you keep your Bower p…

spring6学习笔记

1.环境准备 1.idea建立一个空项目&#xff0c;jdk要求是17 2.Maven配置&#xff08;和mybatis里一样&#xff09; 3.新建一个模块 2.ocp原则 3.依赖倒置原则&#xff08;DIP&#xff09; 什么是依赖倒置原则? 1.面向接口编程&#xff0c;面向抽象编程&#xff0c;不要面向…

【React 报错】—Remove untracked files, stash or commit any changes, and try again.

【React 报错】—Remove untracked files, stash or commit any changes, and try again. 在react项目中通过.less文件进行样式定义&#xff0c;先暴露webpack配置文件&#xff0c;执行命令&#xff1a;yarn eject 或 npm run eject&#xff0c;报错如下&#xff1a; 原因是因…

oauth2.0是怎么使用的

OAuth 2.0 是一种用于授权的开放标准&#xff0c;允许用户授权第三方应用程序访问其受保护的资源&#xff0c;而无需将用户名和密码透露给第三方应用程序。下面是 OAuth 2.0 的一般使用方式&#xff1a; 注册应用程序&#xff1a; 第三方应用程序需要注册自己的应用程序&#x…

什么是大数据分析?大数据分析要学什么?

作为时下最火热的IT行业的词汇——大数据&#xff0c;它是指对规模庞大的数据库或者数据池进行挖掘、清理、分析的过程。大数据可以概括为5个V&#xff0c;数据量大(Volume)、速度快(Velocity)、类型多(Variety)、价值&#xff08;Value&#xff09;、真实性(Veracity)。通过对…

深度学习-CNN网络改进版LetNet5

深度学习-CNN网络改进版LetNet5 深度学习中&#xff0c;经典网络引领一波又一波的技术革命&#xff0c;从LetNet到当前最火的GPT所用的Transformer&#xff0c;它们把AI技术不断推向高潮。 用pytorch构建CNN经典网络模型改进版LetNet5&#xff0c;还可以用数据进行训练模型&a…

【清理mysql数据库服务器二进制日志文件】

清理前后比对 清理前占用 86% &#xff1a; 清理后占用 29% &#xff1a; 排查占用磁盘较大的文件 检测磁盘空间占用 TOP 10 # 检测磁盘空间占用 TOP 10 $ sudo du -S /var/log/ | > sort -rn | # -n选项允许按数字排序。-r选项会先列出最大数字&#xff08;逆序&#x…

vue中 input disable后无法触发点击事件

问题&#xff1a;input标签为disabled后&#xff0c;点击事项无效&#xff1b;当点击文字**“请选择”**时无法触发点击事件&#xff0c;其父标签的其余位置均可触发 解决&#xff1a;只需要在input标签中添加 style“pointer-events:none” 即可 pointer-events: none 作用是…

如何刷新 DNS 缓存 (macOS, Linux, Windows)

如何刷新 DNS 缓存 (macOS, Linux, Windows) Unix Linux Windows 如何刷新 DNS 缓存 (macOS, FreeBSD, RHEL, CentOS, Debian, Ubuntu, Windows) 请访问原文链接&#xff1a;https://sysin.org/blog/how-to-flush-dns-cache/&#xff0c;查看最新版。原创作品&#xff0c;转载…

字节面试问题

实现三列布局的方法 第一种&#xff1a;可以使用浮动margin 第二种&#xff1a;浮动BFC <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, in…

密码学及其应用(应用篇15)——0/1背包问题

1 问题背景 背包问题是一个经典的优化问题&#xff0c;在计算机科学和运筹学中有着广泛的应用。具体到你提到的这个问题&#xff0c;它是背包问题中的一个特例&#xff0c;通常被称为0/1背包问题。这里&#xff0c;我们有一系列的正整数 &#xff0c;以及一个正整数&#xff0c…

docker-redis

[rootlocalhost ~]# docker pull redis 运行redis # -d&#xff1a;后台运行 # -p&#xff1a;端口 宿主机&#xff1a;容器 # --name启名 # --restartalways: 开机自启 # --privilegedtrue -v 数据卷 # redis-server /etc/redis/redis.conf redis去读容器内部redis.conf文件…