当前位置: 首页 > news >正文

Debezium发布历史102

原文地址: https://debezium.io/blog/2021/02/24/debezium-1-5-beta1-released/

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

Debezium 1.5.0.Beta1 发布
2021 年 2 月 24 日 作者: Gunnar Morling
发布 mysql postgres sqlserver cassandra oracle db2 vitess 发件箱
我很高兴地宣布 Debezium 1.5.0.Beta1发布!

此版本添加了一个全新的组件 - 基于 Web 的 Debezium UI -、对 MySQL 连接器的事务元数据支持、对 Debezium Oracle 连接器的基于 LogMiner 的捕获实现的大量改进、对 Vitess 9.0 的支持以及多得多。下面让我们探讨一些新功能。

德贝齐姆用户界面
不同的 Debezium 连接器为各种数据库设置和运行变更数据捕获源提供了强大的功能和灵活性。但这种灵活性也是有代价的:开始使用连接器可能需要一些时间来理解所有不同的选项及其语义。另一个关键方面是操作连接器,即深入了解其当前状态和指标,能够对连接器故障做出反应等等。

根据社区的反馈,我们在过去几个月中探索了图形用户界面如何帮助解决这些问题。最初的概念验证看起来非常有希望,因此我们决定继续前进,使UI成为 Debezium 项目的官方组件。仍在积极开发中,您现在已经可以尝试该 UI(在 Docker Hub 上作为容器映像提供)并使用它在 Kafka Connect 集群中设置 Debezium 连接器。

我们将在接下来的几天内在单独的博客文章中跟进有关 Debezium UI 的更多详细信息,讨论其当前状态、该组件的路线图等。

改进的基于 LogMiner 的 CDC 实施
我们当前继续关注 Oracle 的基于 LogMiner 的 CDC 实施,我们已经修复了该连接器的大量问题。其中包括:

显着提高了 DML 解析性能(DBZ-3078);LogMiner DML 语句的新手写解析器可以提高该连接器的吞吐量,现有的外部解析器实现将很快被删除

支持从多个模式捕获更改(DBZ-3009)

支持列过滤(DBZ-3167)

正确的交易元数据(DBZ-3090)

与日志文件切换和类似问题相关的几个错误修复(DBZ-2754、DBZ-3001、DBZ-3153等)

维特斯连接器
在社区成员 Kewei Shang 的领导下,Vitess 的 Debezium 连接器现在支持 Vitess 9.0 ( DBZ-3100 )。连接器还可以捕获 JSON 和 ENUM 列(DBZ-3115、DBZ-3124)的更改,并实现 Kafka Connect 的配置验证 API(DBZ-3117)。

其他特性
此版本中的进一步修复和改进包括:

Debezium MySQL 连接器可以公开有关事务边界的元数据 ( DBZ-3114 );正如1.5.0.Alpha1发布公告中所述,这是我们通过将该连接器重新定位到通用 Debezium 连接器框架上而获得的首要好处之一

用于 Postgres 的 Debezium 连接器经过 PG 13 ( DBZ-3022 )测试和验证

使用 Debezium 嵌入式 API ( DBZ-2897 )时能够自定义偏移量

CREATE OR REPLACE INDEX将MySQL 连接器与 MariaDB 结合使用时支持DDL ( DBZ-3067 )

Postgres 支持无限时间戳值 ( DBZ-2614 )

此版本总共解决了78 个问题。

一如既往,非常感谢所有做出贡献的社区成员:Adhaam Ehab、Ahmed Eljami、Bingqin Zhou、Fahim Farook、Ganesh Ramasubramanian、Harvey Yue、Kevin Pullin、Kewei Shang、Michael Cizmar、Nitin Agarwal、Russell Ballard、Shane Paul、托马斯·普雷尔、托马斯·桑顿和张一龙。

原文地址: https://debezium.io/blog/2021/03/15/debezium-1-5-beta2-released/

Debezium 1.5.0.Beta2 发布
2021 年 3 月 15 日 作者: 克里斯·克兰福德
发布 mysql postgres sqlserver cassandra oracle db2 vitess 发件箱
我们非常高兴地宣布 Debezium 1.5.0.Beta2发布!

此版本的主要功能是新的 Debezium 信令表支持、Vitess SET 类型支持,以及在我们冲刺 1.5 版本的终点线时持续关注细微改进、错误修复和完善。

总体而言,自 Beta1 发布以来,社区修复了54 个问题,我们将在下面更深入地探讨其中的一些问题。

信令表
信号表功能对于 Debezium 来说是一个巨大的里程碑。它提供基于源数据库表的命令模式,以向 Debezium 发送命令(也称为信号),以便可以采取特定操作。该框架是可扩展的,允许连接器实现超出 Debezium 核心提供的通用命令的自定义命令。在多种情况下,这可能适用,包括但不限于 PostgreSQL 主键列更改、列定义的枚举值集更改以及 Oracle 连接器的架构更改。这是一个正在孵化的功能,因此不同版本之间的行为可能会发生变化。

为了使用信号表功能,signal.data.collection必须在连接器配置中指定连接器选项。此选项指定从中发出信号请求的表的完全限定名称。如果该选项未指定或为空,则信号表功能将被禁用。

信号表本身必须提前创建,并且必须遵守以下约定:

列名 数据类型
ID

STRING
信号的唯一标识符,例如 UUID。

类型

STRING
要执行的唯一命令。

数据

STRING
命令的有效负载。

最后,必须明确地找到信号表作为连接器的包含/排除列表规范的一部分。换句话说,如果您指定要监视的表列表,则需要调整该列表以包含信号表的名称。

这项新功能有相当多的用例,我们打算在未来的版本中进行探索。让我们讨论一下此版本当前支持哪些信号。

记录信号
TYPE当信号表中的列为时,检测到日志信号log。该信号请求 Debezium 将列(有效负载)的内容DATA按原样写入连接器日志。这可用于多种目的,从调试到跟踪数据库脚本操作的进度等等。

举个例子:

INSERT INTO DEBEZIUM_SIGNALS (ID, TYPE, DATA) VALUES (‘1’, ‘log’, ‘Hello World’);
一旦该插入被提交并写入数据库的事务日志,Debezium 将识别该信号,然后Hello World使用日志级别写入连接器日志INFO。

模式改变信号
TYPE当信号表中的列为时,会检测到架构更改信号schema-changes。该信号告诉 Debezium 发出一个SchemaChangeEvent基于行列DATA(有效负载)中提供的更改的架构更改主题。列的格式DATA必须以 JSON 格式给出,格式示例如下。此外,该信号还将让 Debezium 更新其表模式结构的内存表示。

举个例子,我们有一个 PostgreSQL 表s1.a,我们想要在其中添加一个新列aa:

{
“database”: “postgres”,
“changes”: [{
“type”: “ALTER”,
“id”: “s1.a”,
“table”: {
“defaultCharsetName”: null,
“primaryKeyColumnNames”: [ “pk” ],
“columns”: [{
“name”: “pk”,
“jdbcType”: 4,
“nativeType”: 23,
“typeName”: “serial”,
“typeExpression”: “serial”,
“charsetName”: null,
“length”: 10,
“scale”: 0,
“position”: 1,
“optional”: false,
“autoIncremented”: true,
“generated”: false
}, {
“name”: “aa”,
“jdbcType”: 4,
“nativeType”: 23,
“typeName”: “int4”,
“typeExpression”: “int4”,
“charsetName”: null,
“length”: 10,
“scale”: 0,
“position”: 2,
“optional”: true,
“autoIncremented”: false,
“generated”: false
}]
}
}]
}
使用此 JSON 有效负载,信号将插入为:

INSERT INTO DEBEZIUM_SIGNALS (ID, TYPE, DATA) VALUES (‘1’, ‘schema-changes’, );
维特斯SET支持
作为 Vitess 9.0 的一部分,Vitess 团队改进了SETVStream API 中的数据类型支持。这一改进使得SETDebezium Vitess 连接器现在支持该数据类型。EnumSet此数据类型将作为现在包含列定义的所有允许值的数据类型发出SET。

其他功能和修复
除了信号表和 Vitess SET 支持之外,此版本还进行了一些其他改进和修复。

Oracle 的 Debezium 连接器现在默认使用基于 LogMiner 的捕获实现。为了使用基于 XStream 的实现,该database.connection.adapter选项必须显式设置为xstream( DBZ-3241 )。

在 Debezium 1.5 的早期版本中,Oracle 连接器开始将NUMBER(1)数据类型发出为BOOLEAN. 此行为不是由连接器隐式完成,而是已移至 OOTB 转换器,NumberOneToBooleanConverter可以根据需要使用 ( DBZ-3208 )。

SYS_IOT_OVEROracle 连接器忽略系统生成的索引组织表(以 开头的表)( DBZ-3036 )

debezium.sink.kinesis.endpointDebezium Server 的 AWS Kinesis 接收器可以通过指定( DBZ-3246 )来配置端点。

与往常一样,您可以在发行说明中找到所有已解决问题和升级过程的完整列表。

非常感谢所有为本次发布做出贡献的社区成员:Bingqin Zhou、David Seapy、Victar Malinouski、Xiao Fu、Kewei Shang、Martín Pérez、Hoa Le、Vladimir Osin、Martín Pérez和Meng Qiu!

下一步是什么?
在慢慢结束 Debezium 1.5 版本系列的工作的同时,我们还利用这个机会将 Debezium Oracle 集成到主要Debezium源代码存储库中。这样,前Debezium 孵化器存储库的所有连接器都已移至其自己的专用存储库中,或集成到主存储库中。孵化器存储库已设置为“存档”模式,允许在需要时检查其历史记录。

在 1.5 Final 之前的剩余时间内,我们计划重点关注错误修复、性能改进、文档调整和其他稳定性工作;除非出现任何不可预见的问题,基于 LogMiner 的捕获实现也将从孵化状态提升到最终版本的稳定状态。如果一切按计划进行,下周中旬将发布 CR(候选版本),然后在月底左右发布最终版本。

相关文章:

Debezium发布历史102

原文地址: https://debezium.io/blog/2021/02/24/debezium-1-5-beta1-released/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Debezium 1.5.0.Beta1 发布 2021 年 2 月 24 日 作者: Gu…...

探索自然语言处理在改善搜索引擎、语音助手和机器翻译中的应用

文章目录 每日一句正能量前言文本分析语音识别机器翻译语义分析自然语言生成情感分析后记 每日一句正能量 努力学习,勤奋工作,让青春更加光彩。 前言 自然语言处理(NLP)是人工智能领域中与人类语言相关的重要研究方向&#xff0c…...

echarts:获取省、市、区/县、镇的地图数据

目录 第一章 前言 第二章 获取地图的数据(GeoJSON格式) 2.1 获取省、市、区/县地图数据 2.2 获取乡/镇/街道地图数据 第一章 前言 需求:接到要做大屏的需求,其中需要用echarts绘画一个地图,但是需要的地图是区/县…...

Java_简单模拟实现ArrayList_学习ArrayList

文章目录 一、 了解线性表和顺序表区别1.线性表2.顺序表 二、模拟实现1.定义接口2.定义MyArrayList3.成员变量以及构造方法4.实现打印数组5.实现add方法6.实现查找某个数是否存在contains或者某个数的下标indexOf7.获取或更改pos位置的值 get和set8.获取数组大小 size9.删除某个…...

动手学深度学习(一)深度学习介绍2

目录 二、起源 三、深度学习的成功案例: 四、特点: 五、小结: 二、起源 为了解决各种各样的机器学习问题,深度学习提供了强大的工具。 虽然许多深度学习方法都是最近才有重大突破,但使用数据和神经网络编程的核心思…...

vmware网络配置,VMware的三种网络模式详解与配置

vmware为我们提供了三种网络工作模式 vmware为我们提供了三种网络工作模式, 它们分别是: Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。 VMware虚拟机的三种网络类型的适用场景如下…...

【Ubuntu】安装hbase

前提 需要安装java 安装 HBase 下载并解压 HBase 安装包: wget https://dlcdn.apache.org/hbase/2.5.7/hbase-2.5.7-bin.tar.gz tar -zxvf hbase-2.5.7-bin.tar.gz配置 HBase 环境变量: export HBASE_HOME/path/to/hbase-2.5.7 export PATH$PATH:$H…...

ubuntu16.04环境轻松安装和应用opencv4.9.0(基于源码编译)

目录 一、环境准备 1、安装cmake 2、安装依赖 3、从github上下载opencv4.9.0.zip 二、安装opencv4.9.0 1、解压4.9.0.zip 2、进入build目录编译 3、安装编译好的相关库 4、修改opencv配置文件并使其生效 5、添加PKG_CONFIG路径,并使其生效 三、opencv环境…...

FastBee开源物联网平台2.0开源版发布啦!!!

一、项目介绍 物美智能(wumei-smart)更名为蜂信物联(FastBee)。 FastBee开源物联网平台,简单易用,更适合中小企业和个人学习使用。适用于智能家居、智慧办公、智慧社区、农业监测、水利监测、工业控制等。 系统后端采用Spring boot;前端采用…...

【NeRF和NLP】一些观察感悟,碎碎念

NeRF的paper,有几个感想: NeRF读的时候感觉和diffusion思路特别像,训练目标是一个很小很小的子步骤,大大简化了训练难度NeRF建模的是“真实”世界,其用模型隐含的存储了真实世界的体素(场)模型…...

Python程序设计 基础数据类型

1.1 编程规范 注释 python注释也有自己的规范,在文章中会介绍到。注释可以起到一个备注的作用,团队合作的时候,个人编写的代码经常会被多人调用,为了让别人能更容易理解代码的通途,使用注释是非常有效的。 在说规范…...

浅谈安科瑞智能照明系统在马来西亚国家石油公司项目的应用

摘要:随着社会经济的发展及网络技术、通信技术的提高,人们对照明设计提出了新的要求,它不仅要控制照明光源的发光时间、 亮度,而且与其它系统来配合不同的应用场合做出相应的灯光场景。本文介绍了马亚西亚石油公司智能照明项目的应…...

Java面对对象

Java面向对象 面对对象概述,类与对象,继承,重写与重载,多态,抽象,封装,包,泛型,异常 面对对象概述 什么是面向对象(OOP) 面向对象(Object Ori…...

代码随想录算法训练营|day24

第七章 回溯算法 77.组合代码随想录文章详解总结 77.组合 以n5,k3为例 (1)for循环遍历&#xff0c;递归选择符合要求的值加入path&#xff0c;len(path)k时&#xff0c;返回 statrtIndex保证每次递归取到的值不重复 剪枝&#xff1a;i<n-(k-len(path))1 后续需要k-len(pat…...

嵌入式学习日记 16

共用体 union 共用体名 { 成员列表; //各个变量 }; //表示定义一个共用体类型 注意&#xff1a; 1.共用体 初始化 --- 只能给一个值&#xff0c;默认是给到第一个成员变量的 2.共用体成员变量辅助 共用体用的数据最终存储的 --- 应该是最后一次给到的值。 但是只能…...

【Vue.js设计与实现】第一篇:框架设计概览-阅读笔记(完结)

从高层设计的角度去探讨框架需要关注的问题。 参考&#xff1a;速读《Vue.js 设计与实现》 - 掘金 (juejin.cn) 系列目录&#xff1a; 标题博客第一篇&#xff1a;框架设计概览【Vue.js设计与实现】第一篇&#xff1a;框架设计概览-阅读笔记第二篇&#xff1a;响应系统【Vue.…...

数据结构—动态查找表

动态查找介绍 1. 动态查找的引入&#xff1a;当查找表以线性表的形式组织时&#xff0c;若对查找表进行插入、删除或排序操作&#xff0c;就必须移动大量的记录&#xff0c;当记录数很多时&#xff0c;这种移动的代价很大。 2. 动态查找表的设计思想&#xff1a;表结构本身是…...

Hbase-2.4.11_hadoop-3.1.3集群_大数据集群_SSH修改默认端口22为其他端口---记录025_大数据工作笔记0185

其实修改起来非常简单,但是在大数据集群中,使用到了很多的脚步,也需要修改, 这里把,大数据集群,整体如何修改SSH端口,为22022,进行总结一下: 0.hbase-2.4.11的话,hbase集群修改默认SSH端口22,修改成22022,需要修改 需要修改/opt/module/hbase-2.4.11/conf/hbase-env.sh 这里…...

c++学习第十四讲---STL常用容器---vector容器

vector容器&#xff1a; 1.vector基本概念&#xff1a; vector功能与数组类似&#xff0c;与数组不同的是&#xff0c;vector可以动态扩展。 2.vector构造函数&#xff1a; vector<T> v; //默认构造函数&#xff0c;创建数据类型T的容器 ve…...

数据结构-内部排序

简介 排序&#xff08;Sorting&#xff09;&#xff1a;将一个数据元素&#xff08;或记录&#xff09;的任意序列&#xff0c;重新排列成一个按关键字有序的序列 排序算法分为内部排序和外部排序 内部排序&#xff1a;在排序期间数据对象全部存放在内存的排序 外部排序&am…...

Qt加载网页崩溃 ASSERT:“m_adapterClient“ in file ...

1、软件启动后加载网页无异常&#xff0c;点击按钮&#xff0c;加载新网页时崩溃 崩溃代码&#xff1a; QWebEngineView *createWindow(QWebEnginePage::WebWindowType type) { Q_UNUSED(type); return this; } 2、原因 Qt只是调用谷歌的浏览器引擎&#xff…...

合约短线高胜率策略-扭转乾坤指标使用说明

扭转乾坤指标使用说明 行情判断 双绿线 多趋势双红线 空趋势大绿线 小红线 多震荡大红线 小绿线 空震荡 进场条件 趋势行情进场 多趋势 多信号 底金叉 做多空趋势 空信号 顶死叉 做空 震荡行情进场 多震荡 多信号 底金叉 做多多震荡 空信号 顶死叉 做空空…...

DAY37:贪心算法738

今天写了一道题目&#xff0c;顺便看了一个很好的总结&#xff0c;这篇博客可以跳过。 Leetcode&#xff1a;738 单调递增的数字 因为最大的数字是9&#xff0c;当出现后面位数的数字比前面位数的数字小的时候&#xff0c;就把后面的数字都变成9&#xff0c;前面那个数字--。…...

计算机中的缓存与内存

在现代计算机系统中&#xff0c;缓存和内存扮演着至关重要的角色&#xff0c;它们共同协作以实现高性能和高效率的数据处理。本文将深入探讨缓存和内存的概念、功能以及它们在计算机系统中的作用。 缓存与内存&#xff1a;概念与功能 1. 内存&#xff08;RAM&#xff09;&…...

2.1总结

还是一样水更一天&#xff0c;就随便做了几个题&#xff0c;有一个周期有点长&#xff0c;后面更一篇长的 随手刷的一道水题&#xff0c;就不往今天的行程单添了 问题&#xff1a;最大公约数 题解&#xff1a;题目太水了&#xff0c;就是求三个数&#xff0c;其中两组的最大公…...

探索Pyecharts:绘制多彩日历图的艺术与技巧

Pyecharts绘制多种炫酷日历图参数说明代码实战 导言 在数据可视化领域&#xff0c;日历图是一种直观展示时间和数据关系的方式。Pyecharts是一个基于Echarts的Python库&#xff0c;可以方便地绘制各种图表&#xff0c;包括炫酷的日历图。本篇博客将介绍Pyecharts中绘制多种炫…...

响应标头Allow-Headers和Expose-Headers的区别和用法

Access-Control-Allow-Headers和Access-Control-Expose-Headers&#xff0c;简单的说&#xff0c;这两者都是前端和后端之间通过header传递数据的&#xff0c;主要的区别就是方向。 Access-Control-Allow-Headers 举个例子&#xff0c;如果我们前端向后端发起请求&#xff0c…...

<网络安全>《13 上网行为管理》

1 概念 上网行为管理是指帮助互联网用户控制和管理对互联网的使用。其包括对网页访问过滤、上网隐私保护、网络应用控制、带宽流量管理、信息收发审计、用户行为分析等。 随着计算机、宽带技术的迅速发展&#xff0c;网络办公日益流行&#xff0c;互联网已经成为人们工作、生活…...

安全通道堵塞识别摄像机

当建筑物的安全通道发生堵塞时&#xff0c;可能会给人员疏散和救援带来重大隐患。为了及时识别和解决安全通道堵塞问题&#xff0c;专门设计了安全通道堵塞识别摄像机&#xff0c;它具有监测、识别和报警功能&#xff0c;可在第一时间发现通道堵塞情况。这种摄像机通常安装在通…...

2022 年全国职业院校技能大赛高职组云计算赛项试卷

【赛程名称】云计算赛项第二场-容器云 说明&#xff1a; 完成本任务需要两台安装了 CentOS7.9 操作系统的云主机&#xff1a; master 和 node。Chinaskill_Cloud_PaaS.iso 镜像包中有本次容器云部署所需的所有文件&#xff0c;运维所需的文件见附件。 某公司技术部产品开发上线…...