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

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

CMake控制VS2022项目文件分组

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

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...