原文地址: https://debezium.io/blog/2018/01/25/debezium-0-7-2-released/
欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.
Debezium 0.7.2 发布
一月 25, 2018 作者: Gunnar Morling
发布 mysql mongodb postgres docker
我很高兴地宣布 Debezium 0.7.2发布!
新功能包括对地理空间类型的支持、用于恢复 MySQL 连接器丢失的数据库历史记录主题的新快照模式,以及用于将 MongoDB 更改事件转换为可由更多接收器连接器使用的结构的消息转换。当然,我们也修复了很多错误。
Debezium 0.7.2 是之前 0.7.x 版本的直接替代品。从 0.7.0 之前的版本升级时,请查看所有 0.7.x 版本的发行说明,以了解升级可能需要的任何步骤。
非常感谢我们出色的社区成员为此版本所做的辛勤工作:Andrey Pustovetov、Denis Mikhaylov、Peter Goransson、Robert Coup、Sairam Polavarapu和Tom Bentley。
现在让我们仔细看看一些新功能。
MySQL 连接器
MySQL连接器最大的变化是支持地理空间列类型,如GEOMETRY、POLYGON等MULTIPOINT。
有两种新的逻辑字段类型 - io.debezium.data.geometry.Geometry和io.debezium.data.geometry.Geography - 用于表示变更数据消息中的地理空间列。这些类型通过 WKB(“众所周知的二进制”)和 SRID(坐标参考系统标识符)表示地理空间数据,允许下游消费者使用任何支持解析 WKB 的现有库来解释更改事件。稍后将发布包含更多详细信息的博客文章。
当由于某种原因您丢失了 MySQL 连接器使用的(部分)数据库历史记录主题时,新的快照模式会派上用场。 schema_only_recovery如果您想通过重新创建主题来压缩该主题,它也很有用。有关此模式的详细信息,请参阅连接器文档,尤其是。何时可以安全(何时不安全)使用它。
与管理数据库历史记录主题大小相关的另一个新功能是控制是包含所有 DDL 事件还是仅包含与根据白名单/黑名单配置捕获的表相关的事件的选项。再次,请查看连接器文档以了解有关该设置的具体信息的更多信息。
最后,我们修复了 MySQL DDL 解析器( DBZ-524、DBZ-530 )的一些缺点。
PostgreSQL 连接器
与 MySQL 连接器类似,Postgres 现在对地理空间列的支持有了很大的改进。更具体地说,PostGIS 列类型现在可以在更改数据事件中表示。非常感谢 Robert Coup 贡献了此功能!
此外,对 Postgres数组列的支持也得到了扩展,例如我们现在支持跟踪数组列的VARCHAR更改DATE。请注意,该连接器尚不支持地理空间数组列(您应该有这些列),但也应该很快添加。
如果您只想在快照中包含捕获表的行的子集,您可能希望能够指定专用的 SELECT 语句来执行此操作。例如,这可用于从快照中排除任何逻辑删除的记录(您可以根据该表中的某些标志来识别这些记录)。
该连接器中的一些错误也由社区成员报告和修复,例如连接器现在可以正确暂停(感谢 Andrey Pustovetov),并且我们修复了一个可能向 Kafka Connect提交错误偏移量的问题(感谢,通·梅卡提科姆)。
MongoDB 连接器
如果您曾经比较过 Debezium RDBMS 连接器(MySQL、Postgres)和 MongoDB 连接器发出的更改事件的结构,您就会知道后者的消息结构与其他连接器有点不同。由于 MongoDB 的无模式性质,更改事件本质上包含一个字符串,其中包含所应用的插入或补丁的 JSON 表示形式。此结构无法被现有接收器连接器使用,例如 JDBC 或 Elasticsearch 的 Confluence 连接器。
现在通过新添加的单消息转换 (SMT)可以实现这一点,它解析这些 JSON 字符串并从中创建结构化的 Kafka Connect 记录(感谢 Sairam Polavarapu!)。将此 SMT 应用于 JDBC 接收器连接器时,您现在可以将数据更改从 MongoDB 流式传输到任何受支持的关系数据库。
请注意,此 SMT 正在开发中,其发出的消息结构的详细信息可能仍会发生变化。此外,它可以实现的功能也存在一些固有的限制,例如,如果您的 MongoDB 文档中有数组,则此 SMT 创建的记录将相应地结构化,但许多接收器连接器无法处理这种结构。
我们在这里有一些进一步开发的想法,例如,可以选择展平(非数组)嵌套结构,以便将eg{ “address” { “street” : “…” } }表示为address_street,然后可以由期望扁平结构的接收器连接器使用。
我们的文档中详细描述了新的 SMT 。
下一步是什么?
请参阅完整的更改日志以了解更多详细信息以及 Debezium 0.7.2 中修复的问题的完整列表。
0.7.3 版本计划于 2 月 14 日发布。
我们将重点关注更多错误修复,我们还致力于让 Debezium 定期向专用主题发送心跳消息。这对于诊断目的非常实用,而且还有助于定期触发 Kafka Connect 中偏移量的提交。在某些情况下,当捕获很少更改的表时,这很有用。
我们还制定了一个路线图,描述我们对 Debezium 未来工作的想法,超越下一个错误修复版本。虽然没有什么是一成不变的,但这是我们在未来几个月内添加的功能的想法。如果您错过了此路线图上的任何重要内容,请在下面的评论中告诉我们或向我们的 Google 群组发送消息。期待您的反馈意见!