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 | sally.thomas@acme.com

false | Bailey | 1002 | George | gbailey@foobar.com

false | Kretchmar | 1004 | Anne | annek@noanswer.org

true | Walker | 1003 | Edward | ed@walker.com

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

下一步是什么?

我们正在继续 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表示深深的"感谢",感谢他们对此版本的贡献!

相关推荐
全栈师15 分钟前
SQL Server中关于个性化需求批量删除表的做法
数据库·oracle
Data 31723 分钟前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop
小O_好好学24 分钟前
CentOS 7文件系统
linux·运维·centos
哲伦贼稳妥1 小时前
一天认识一个硬件之机房地板
运维·网络·经验分享·其他
BergerLee1 小时前
对不经常变动的数据集合添加Redis缓存
数据库·redis·缓存
john_hjy1 小时前
11. 异步编程
运维·服务器·javascript
x晕x1 小时前
Linux dlsym符号查找疑惑分析
linux·运维·服务器
gorgor在码农1 小时前
Mysql 索引底层数据结构和算法
数据结构·数据库·mysql
活跃的煤矿打工人2 小时前
【星海saul随笔】Ubuntu基础知识
linux·运维·ubuntu
bug菌¹2 小时前
滚雪球学Oracle[6.2讲]:Data Guard与灾难恢复
数据库·oracle·data·灾难恢复·guard