原文地址: 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表示深深的"感谢",感谢他们对此版本的贡献!