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

Debezium日常分享系列之:Debezium 3.0.5.Final发布

Debezium日常分享系列之:Debezium 3.0.5.Final发布

  • 重大变化
    • Kafka信号源
    • 变更事件源信息块
  • 新功能和改进
  • 核心
    • 允许在未知表上进行临时阻塞快照
    • 快照分发失败处理改进
    • 连接器启动配置日志改进
  • Postgres
    • 支持PostgreSQL 17的故障转移复制槽
  • Oracle
    • 跟踪部分回滚事件的新指标
    • 跳过GoldenGate复制标记
  • Vitess
    • 不可解析的DDL处理改进
  • K8s Operator
    • 支持JDBC偏移/历史配置

重大变化

Kafka信号源

  • 在连接器重新启动时,Debezium会重新处理基于Kafka的信号,这可能会引入无法预测的行为和意外的副作用。因此,该功能已被移除,如果连接器停止,则必须重新发送信号。

变更事件源信息块

  • 在Debezium的变更事件中,源信息块中的快照枚举被扩展以包括所有可能的情况。

新功能和改进

Debezium 3.0.5.Final引入了一些改进和新功能,让我们逐个查看每个功能。

核心

允许在未知表上进行临时阻塞快照

  • 虽然我们建议对所有表使用默认的模式管理配置,但我们理解并非每个环境都能实现这一点。我们经常看到的一个常见问题是,如果连接器使用store.only.captured.tables.ddl配置为true,那么如何对新增的表进行快照。
    在此更新中,我们简化了这个过程,您可以通过更新连接器配置来添加新的表,一旦连接器任务重新启动,即使对于未知但与捕获过滤器匹配的表,也可以发送临时阻塞快照信号。

快照分发失败处理改进

  • 在处理变更事件时,用户可以使用event.processing.failure.handling.mode来控制连接器对特定事件处理失败的反应方式;然而,传统上这仅适用于流式变更。
  • 在某些边缘情况下,发出快照事件也可能引发失败。为了改善这种体验,event.processing.failure.handling.mode现在也会影响分发快照事件时的失败处理。

连接器启动配置日志改进

  • 当Debezium源连接器启动时,它会记录所有连接器的配置。这对于团队在诊断问题时非常有帮助,同时也方便用户确认他们的配置被正确理解。
  • 在此更新中,连接器配置的日志记录稍有变化。您会注意到,不再将每个配置属性作为新的日志条目,而是将每个键/值通过新行分隔并追加在一起,作为单个条目添加到日志中。这样更容易识别这些日志行,并且如果需要,工具可以更容易地排除这样的日志条目。

Postgres

支持PostgreSQL 17的故障转移复制槽

  • PostgreSQL 17引入了一个期待已久的功能,称为复制槽的故障转移。
  • 在创建复制槽时,可以指定一个新的属性,以使复制槽在故障转移副本上创建并可用。故障转移复制槽的同步可以通过调用pg_sync_replication_slots()手动执行,也可以通过启用sync_replication_slots功能自动执行。
  • 当启用自动同步时,这允许Debezium在故障转移到副本时立即从该槽中消费,并且不会错过任何事件。
  • 要利用这个新功能,您的连接器必须配置slot.failover为true。Debezium必须连接到PostgreSQL 17+和集群上的主服务器,否则将不会创建故障转移复制槽。

Oracle

跟踪部分回滚事件的新指标

  • 部分回滚事件是Oracle独有的一种情况,其中用户执行一个操作,它被记录为在事务日志中执行,但是验证检查会强制撤销和回滚该操作。触发部分回滚的最显著方式之一是违反约束条件。
  • 新的JMX指标NumberOfPartialRollbackCount跟踪事务日志中这种事件序列的频率。

该指标的增加应该是很少见的,在一天中出现几次不应该造成重大问题。

当您注意到该指标在很短的时间窗口内频繁增加时,这意味着您可能有一个编写不良的脚本,其中一个作业依赖于约束违规来实现某些逻辑。虽然连接器可以处理这些用例,但重要的是要理解这会创建不必要的事务日志活动,直接影响流式变更的速度和延迟。

跳过GoldenGate复制标记

  • 当使用Debezium从与Oracle GoldenGate交互的Oracle数据库中捕获变更时,您可能会注意到在重新启动时,偏移量中的低水位线没有前进。特别是在将lob.enabled设置为true时尤为明显。
  • 在此更新中,Debezium Oracle连接器现在将跳过GoldenGate的复制标记事件,这将防止这些合成事务混淆事务缓冲区,并迫使用户依赖事务保留。

Vitess

不可解析的DDL处理改进

Vitess已经添加了几项新的改进措施,以使DDL变更的解析和处理更具容错性()。这些改进包括:

  • 仅在特定表在模式历史中被跟踪时才解析DDL事件
  • 去除注释以模拟解析失败
  • 使表和类型容错以优雅地处理边缘情况。

K8s Operator

支持JDBC偏移/历史配置

  • 我们通过引入对JDBC存储模块的支持,改进了Kubernetes Operator,使其可以通过CRD进行配置。
  • 在offset模式参考中,添加了一个名为jdbc的新属性部分,描述了JDBC偏移后备存储属性。在schema history参考中,添加了一个名为jdbc的新属性部分,描述了JDBC模式历史存储属性。
  • 这使得用户可以轻松地将使用Debezium Operator部署的连接器的偏移量和模式历史细节存储在JDBC数据存储中。

相关文章:

Debezium日常分享系列之:Debezium 3.0.5.Final发布

Debezium日常分享系列之:Debezium 3.0.5.Final发布 重大变化Kafka信号源变更事件源信息块 新功能和改进核心允许在未知表上进行临时阻塞快照快照分发失败处理改进连接器启动配置日志改进 Postgres支持PostgreSQL 17的故障转移复制槽 Oracle跟踪部分回滚事件的新指标…...

机器学习常用评估Metric(ACC、AUC、ROC)

一、混淆矩阵 基于样本预测值和真实值是否相符,可得到4种结果: TP(True Positive):样本预测值与真实值相符且均为正,即真阳性 FP(False Positive):样本预测值为正而真实值为负,即假阳性 FN(False Negative…...

uniapp 微信小程序 功能入口

单行单独展示 效果图 html <view class"shopchoose flex jsb ac" click"routerTo(要跳转的页面)"><view class"flex ac"><image src"/static/dyd.png" mode"aspectFit" class"shopchooseimg"&g…...

typora数学符号

typora数学符号 Typora 是一个支持 LaTeX 数学公式的优秀 Markdown 编辑器&#xff0c;可以直接编写数学公式并实时渲染。以下是如何在 Typora 中使用数学公式的详细指南&#xff1a; 1. 启用数学公式支持 默认情况下&#xff0c;Typora 支持 LaTeX 格式的数学公式&#xff0…...

如何保障多个Facebook账号稳定运行:一账号一稳定IP?

在如今的数字营销和社交媒体运营中&#xff0c;管理多个Facebook账号已成为许多企业和个人的常态。然而&#xff0c;多个账号的管理不仅需要技巧&#xff0c;还需要策略&#xff0c;尤其是在IP地址和账号关联管理上。如果操作不当&#xff0c;可能会导致账号被封禁甚至无法解封…...

今日总结 2024-12-23

项目初始化 拉取代码与环境配置&#xff1a; 难点&#xff1a;Git 命令不熟悉&#xff0c;依赖文件定位不准&#xff0c;启动脚本含义不明。解决办法&#xff1a;系统学习 Git 基础操作&#xff0c;如通过官方文档、优质的 Git 教程视频&#xff0c;反复练习克隆、分支切换等常…...

c++------------------函数

函数定义 语法格式 函数定义包括函数头和函数体。函数头包含返回类型、函数名和参数列表。函数体是用花括号{}括起来的代码块&#xff0c;用于实现函数的功能。例如&#xff0c;定义一个计算两个整数之和的函数&#xff1a; int add(int a, int b) {return a b; }这里int是返回…...

软件信息化平台项目投标技术方案中如何进行项目实施方案以及安全质量方案培训售后方案应急预案的编写?

在软件平台投标技术方案中,项目实施方案、质量管理、安全管理、培训方案、售后服务方案和应急预案等章节至关重要,它们分别从不同角度确保项目的顺利实施、高质量交付、安全稳定运行、用户有效使用、持续服务保障以及应对突发情况的能力。各章节编制要点相互关联、协同作用,…...

Apache Tomcat 漏洞CVE-2024-50379条件竞争文件上传漏洞 servlet readonly spring boot 修复方式

1&#xff0c;关于漏洞 Apache Tomcat是一个流行的开源 Web 服务器和 Java Servlet 容器。 二、 漏洞描述 Apache Tomcat中修复了个 TOCTOU 竞争条件远程代码执行漏洞 (CVE-2024-50379)&#xff0c;该漏洞的 CVSS 评分为 9.8。Apache Tomcat 中 JSP 编译期间存在检查时间使用时…...

中国信通院致信感谢易保全:肯定贡献能力,期许未来合作

近日&#xff0c;中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;向易保全发感谢信表达谢意&#xff0c;对其在中国信通院牵头的“铸基计划”——企业数字化转型高质量发展推进行动实施中展现出的重要贡献给予了高度评价和肯定&#xff0c;并展望了双方至20…...

20241220流水的日报 mysql的between可以用于字符串 sql 所有老日期的,保留最新日期

1.F310A RKP有效性验证讨论&#xff1a;需连外网&#xff0c;需先用app生成标志&#xff0c;工具读标志。 2.M200 适配一个 给客户写配置的工具 mysql的between可以用于字符串 批量打印包装箱时&#xff0c;提示有重复N条的处理方法&#xff1a; --先备份数据库&#xff0c;删…...

低代码开源项目Joget的研究——安装部署

大纲 环境准备安装必要软件配置Java配置JAVA_HOME配置Java软链安装三方库 获取源码配置MySql数据库创建用户创建数据库导入初始数据 配置数据库连接配置sessionFactory编译下载tomcat启动下载aspectjweaver移动jw.war文件编写脚本运行 测试参考资料 Joget&#xff0c;作为一款开…...

《鸿蒙开发-答案之书》字符串占位符格式化

《鸿蒙开发-答案之书》字符串占位符格式化 先在string.json定义&#xff1a; {"name":"message_arrive","value":"We will arrive at %s."}使用&#xff0c;它有两种使用方式&#xff1a; 方式一&#xff1a; Text($r(app.string.…...

workman服务端开发模式-应用开发-gateway长链接端工作原理

一、长链接的工作原理 Register类其实也是基于基础的Worker开发的。Gateway进程和BusinessWorker进程启动后分别向Register进程注册自己的通讯地址&#xff0c;Gateway进程和BusinessWorker通过Register进程得到通讯地址后&#xff0c;就可以建立起连接并通讯了。而Gateway进程…...

Android 关于Tencent vConsole 添加入webView 总结

官方地址&#xff1a; https://github.com/Tencent/vConsole/blob/dev/doc/tutorial_CN.md 上面文档中提供了两种常见的引入H5工程思路&#xff0c;简单易懂&#xff01; 今天这篇文章要说明的是&#xff0c;不同于官方文档的接入方式。 先说背景&#xff1a;H5工程方&…...

【路径规划】原理及实现

路径规划&#xff08;Path Planning&#xff09;是指在给定地图、起始点和目标点的情况下&#xff0c;确定应该采取的最佳路径。常见的路径规划算法包括A* 算法、Dijkstra 算法、RRT&#xff08;Rapidly-exploring Random Tree&#xff09;等。 目录 一.A* 1.算法原理 2.实…...

【AIGC】ChatGPT 结构化 Prompt 的高级应用

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;标识符的使用&#xff08;Use of Identifiers&#xff09;1. #2. <>3. - 或 4. [] &#x1f4af;属性词的重要性和应用应用场景 &#x1f4af;具体模块…...

Go web 开发框架 Iris

背景 掌握了 Go 语言的基础后就该开始实践了&#xff0c;编写Web应用首先需要一个 web 开发框架。做框架选型时&#xff0c;处理web请求是基本功能&#xff0c;至于MVC是更进一步需要。现在比较流行的web架构是前后端分离&#xff0c;后端响应RESTful的请求&#xff0c;Iris 能…...

uniapp Native.js 调用安卓arr原生service

最近搞了个uni小项目&#xff0c;一个定制的小平板&#xff0c;带一个nfc设备&#xff0c;厂家只给了一套安卓原生demo&#xff0c;头一次玩原生安卓&#xff0c;废了好半天劲打出来arr包&#xff0c;想镶进uniapp里&#xff0c;网上查了好久&#xff0c;都是错的&#xff0c;要…...

C#代码实现把中文录音文件(.mp3 .wav)转为文本文字内容

我们有一个中文录音文件.mp3格式或者是.wav格式&#xff0c;如果我们想要提取录音文件中的文字内容&#xff0c;我们可以采用以下方法&#xff0c;不需要使用Azure Speech API 密钥注册通过离线的方式实现。 1.首先我们先在NuGet中下载两个包 NAudio 2.2.1、Whisper.net 1.7.3…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

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

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

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

OCR MLLM Evaluation

为什么需要评测体系&#xff1f;——背景与矛盾 ​​ 能干的事&#xff1a;​​ 看清楚发票、身份证上的字&#xff08;准确率>90%&#xff09;&#xff0c;速度飞快&#xff08;眨眼间完成&#xff09;。​​干不了的事&#xff1a;​​ 碰到复杂表格&#xff08;合并单元…...

GraphRAG优化新思路-开源的ROGRAG框架

目前的如微软开源的GraphRAG的工作流程都较为复杂&#xff0c;难以孤立地评估各个组件的贡献&#xff0c;传统的检索方法在处理复杂推理任务时可能不够有效&#xff0c;特别是在需要理解实体间关系或多跳知识的情况下。先说结论&#xff0c;看完后感觉这个框架性能上不会比Grap…...

ubuntu中安装conda的后遗症

缘由: 在编译rk3588的sdk时&#xff0c;遇到编译buildroot失败&#xff0c;提示如下&#xff1a; 提示缺失expect&#xff0c;但是实测相关工具是在的&#xff0c;如下显示&#xff1a; 然后查找借助各个ai工具&#xff0c;重新安装相关的工具&#xff0c;依然无解。 解决&am…...

简单介绍C++中 string与wstring

在C中&#xff0c;string和wstring是两种用于处理不同字符编码的字符串类型&#xff0c;分别基于char和wchar_t字符类型。以下是它们的详细说明和对比&#xff1a; 1. 基础定义 string 类型&#xff1a;std::string 字符类型&#xff1a;char&#xff08;通常为8位&#xff09…...