Debezium日常分享系列之:Debezium 2.7.0.Alpha2发布

2024-05-15 11:04

本文主要是介绍Debezium日常分享系列之:Debezium 2.7.0.Alpha2发布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Debezium日常分享系列之:Debezium 2.7.0.Alpha2发布

  • 新功能和改进
    • 1.Oracle ROW_ID 包含在更改事件中
    • 2.带有 JDBC 接收器的 PostreSQL 数组
    • 3.Oracle 使用自定义模式名称刷新表
    • 4.使用 JWT/seed 进行 NATS 身份验证
    • 5.Oracle 大量表查询过滤器

新功能和改进

1.Oracle ROW_ID 包含在更改事件中

  • 虽然 ROW_ID 在表的生命周期中在表的所有行中并不是唯一的,但它可以在以非常严格的方式管理表和行的生命周期的某些情况下使用。应社区的要求,我们在 Oracle 连接器的更改事件源信息块中添加了新的 row_id 字段。在以下条件下,此新字段将填充 ROW_ID 值:
    • 仅从插入、更新和删除的流事件填充。
    • 快照 evnet 将不包含 row_id 值。
    • 仅由 LogMiner 和 XStream 流适配器提供,不支持 OpenLogReplicator。

任何不符合条件的事件都不会包含 row_id 字段,因为它被标记为可选。

2.带有 JDBC 接收器的 PostreSQL 数组

  • JDBC 接收器连接器支持使用将源列映射到基于 Kafka ARRAY 的有效负载字段类型。借助 Debezium 2.7,您现在可以将基于 ARRAY 的字段序列化到目标 PostgreSQL 数据库,而无需更改配置。新的支持应该是完全透明的。

3.Oracle 使用自定义模式名称刷新表

  • 在 Debezium 的早期版本中,Oracle 连接器经过严格设计,在连接器用户帐户的默认表空间中创建 LogMiner 刷新表。在用户的默认表空间可能不是理想目标并且 DBA 希望该表存在于单独的表空间中的情况下,这并不总是有用。
  • 以前,用户需要修改用户帐户或使用具有正确表空间的新用户才能在正确的表空间位置创建表。在 Debezium 2.7 中,不再需要这样做,您可以安全地将目标模式/表空间的名称包含在配置中。

使用自定义架构名称的示例:

log.mining.flush.table.name=THE_OTHER_SCHEMA.LOG_MINING_FLUSH_TABLE

架构名称是可选的,如果未提供,连接器将继续使用相同的旧行为,即创建刷新表并检查其是否存在于用户的默认表空间中。

4.使用 JWT/seed 进行 NATS 身份验证

  • Debezium Server NAT 流接收器适配器得到改进,支持基于 JWT/种子的身份验证。要开始使用 JWT/基于种子的身份验证,请在配置中提供以下必要值:

JWT 身份验证示例

debezium.sink.nats-jetstream.auth.jwt=<your_jwt_token>

种子认证示例

debezium.sink.nats-jetstream.auth.seed=<your_nkey_seed>

5.Oracle 大量表查询过滤器

Debezium Oracle 连接器可以在单个连接器部署中轻松支持数千个表;但是,您可能发现您想要使用 IN 模式自定义查询过滤器。此模式用于以下情况:您可能对其他表进行大量更改,并且希望在将更改传递到 Debezium 进行处理之前在数据库级别过滤掉该数据集。

在早期版本中,用户可能已经注意到,将 log.mining.query.filter.mode 设置为 in 值并且表包含列表包含超过 1000 个元素会生成 SQL 错误。 Oracle 不允许子句中包含超过 1000 个元素;然而,Debezium 2.7 通过在包含 1000 个项目内条款列表的多个存储桶之间使用析取来解决此限制。

这篇关于Debezium日常分享系列之:Debezium 2.7.0.Alpha2发布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991653

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们