当前位置: 首页 > 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…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中&#xff0c;工业自动化网关起着至关重要的作用&#xff0c;尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关&#xff0c;为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多&#xff0c;其中不少设备采用Devicenet协议。Devicen…...

【Linux】Linux安装并配置RabbitMQ

目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的&#xff0c;需要先安…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...

aardio 自动识别验证码输入

技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”&#xff0c;于是尝试整合图像识别与网页自动化技术&#xff0c;完成了这套模拟登录流程。核心思路是&#xff1a;截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...