Debezium发布历史39

原文地址: https://debezium.io/blog/2018/09/19/debezium-0-8-3-final-released/

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

Debezium 0.8.3.Final 发布

2018 年 9 月 19 日 作者: Gunnar Morling

发布 mysql mongodb postgres docker

随着气温逐渐降温,Debezium 团队再次全面展开,我们很高兴地宣布 Debezium 0.8.3.Final发布!

这是 Debezium 当前稳定版本 0.8.x 的错误修复版本,而 Debezium 0.9 的工作也在并行进行。此版本中有14 个修复。与早期的 0.8.x 版本一样,我们进一步改进了MySQL 连接器使用的新的基于 Antlr 的 DDL 解析器(请参阅DBZ-901、DBZ-903和DBZ-910)。

对于具有大量自定义类型 ( DBZ-899 ) 的数据库, Postgres 连接器的启动时间有了巨大的改进。报告此问题的用户在 pg_catalog.pg_type 中有近 200K 条目,并且由于 Postgres 驱动程序本身内的 N + 1 SELECT 问题,这导致连接器需要 24 分钟才能启动。通过使用自定义查询来获取类型元数据,我们能够将时间缩短至 5 秒!目前,我们正在与 Postgres 驱动程序的维护者合作,以在上游解决此问题。

更灵活的 DELETE 传播

除了这些错误修复之外,我们还决定将 0.9.x 分支中的一项新功能合并到 0.8.3.Final 版本中,对于那些使用 SMT从更改事件中提取"之后"状态的人来说,这可能很有用( DBZ-857)。

该 SMT 可用于将更改流式传输到接收器连接器,这些连接器只需要数据的"平面"行表示,而不是 Debezium 的复杂事件结构。但并非所有接收器连接器都支持删除处理。例如,某些连接器在遇到逻辑删除事件时会失败。因此,SMT 现在可以选择将删除事件重写为特殊"已删除"标记字段的更新。

为此,将delete.handling.modeSMT 的选项设置为"重写":

...

"transforms" : "unwrap",

"transforms.unwrap.type": "io.debezium.transforms.UnwrapFromEnvelope",

"transforms.unwrap.delete.handling.mode" : "rewrite",

...

当传播 DELETE 事件时,传出记录的"__deleted"字段将设置为 true。因此,例如,当使用 JDBC 接收器连接器使用事件时,您会看到这反映在接收器表中的相应列中:

__deleted | last_name | id | first_name | email

-----------±----------±-----±-----------±----------------------

false | Thomas | 1001 | Sally | [email protected]

false | Bailey | 1002 | George | [email protected]

false | Kretchmar | 1004 | Anne | [email protected]

true | Walker | 1003 | Edward | [email protected]

例如,您可以使用在接收器上运行的批处理作业来删除所有标记为已删除的记录。

下一步是什么?

我们正在继续 Debezium 0.9 的工作,主要是对 SQL Server 和 Oracle 连接器的改进。目前的计划是在两周后发布下一个 0.9 版本(Alpha2 或 Beta1)。

此外,现在是会议季的开始,因此我们将花一些时间准备演示并在多个地点展示 Debezium。在这些会议中,将有关于 Debezium 变更数据捕获的会议:

JUG 萨克森日;德国德累斯顿;9月28日

卡夫卡峰会;加利福尼亚州旧金山;10月17日

VoxxedDays 微服务;法国巴黎; 10 月 29 日至 31 日

Devoxx 摩洛哥; 摩洛哥马拉喀什;11 月 27 日至 29 日

如果您参加这些会议中的任何一个,请过来打个招呼;我们很乐意与您交流您的用例、功能请求、对我们路线图的反馈以及有关 Debezium 的任何其他想法。

最后,向我们出色的社区成员Andrey Pustovetov、Maciej Bryński和Peng Lyu表示深深的"感谢",感谢他们对此版本的贡献!

相关推荐
我有医保我先冲1 小时前
SQL复杂查询与性能优化:医药行业ERP系统实战指南
数据库·sql·性能优化
tf的测试笔记2 小时前
测试团队UI自动化实施方案
运维·自动化
说私域2 小时前
基于开源AI大模型与S2B2C模式的线下服务型门店增长策略研究——以AI智能名片与小程序源码技术为核心
大数据·人工智能·小程序·开源
TDD_06282 小时前
【运维】Centos硬盘满导致开机时处于加载状态无法开机解决办法
linux·运维·经验分享·centos
阳光_你好2 小时前
详细说明Qt 中共享内存方法: QSharedMemory 对象
开发语言·数据库·qt
V_HY147622 小时前
AI碰一碰发视频获客工具,系统开发逻辑详细解析
大数据·人工智能·新媒体运营·流量运营
头孢头孢2 小时前
k8s常用总结
运维·后端·k8s
遇码2 小时前
单机快速部署开源、免费的分布式任务调度系统——DolphinScheduler
大数据·运维·分布式·开源·定时任务·dolphin·scheduler
爱编程的王小美3 小时前
Docker基础详解
运维·docker·容器
喝醉酒的小白3 小时前
MySQL响应慢是否由堵塞或死锁引起?
数据库