我非常高兴地宣布Debezium的发布开云体育官方注册网址1.2.0.Beta1

该版本为SQL Server、Db2和Oracle连接器带来了面向用户的模式更改主题,为基于内容的更改事件路由提供了新的消息转换,支持Postgres中的一系列数组列类型等等。我们还升级了Apache Kafka和Ka开云体育官方注册网址fka Connect的Debezium容器镜像到2.5.0版本。

因为它是生活中所有问题的答案,所以这个版本修复的问题数量是到底是42

架构更改主题

与MySQL连接器类似,SQL Server、Db2和Oracle的Debezium连开云体育官方注册网址接器也可以选择公开一个带有模式更改信息的公共主题。与连接器-内部历史记录主题不同,模式更改主题是供感兴趣的客户机使用的,例如允许为下游数据存储的模式播下种子。

模式信息在类型化结构中传播,使使用者不必解析数据库特定的DDL语句。开云体育电动老虎机属性的创建作为一个示例,这里有一个模式事件客户Debezium教程中的表,由开云体育官方注册网址SQL Server连接器生成,并使用JSON消息转换器:

: {版本1.2.0.Beta1连接器sqlserver的名字server1ts_ms1588252618953快照真正的dbtestDB模式dbo表格客户change_lsncommit_lsn00000025:00000d98:00a2event_serial_no},开云体育电动老虎机数据库名testDBschemaNamedboddltableChanges: [{类型创建id\"testDB\"\"dbo\"\"客户\"表格: {defaultCharsetNameprimaryKeyColumnNames:【id),: [{的名字idjdbcType4nativeTypetypeNameint身份typeExpressionint身份charsetName长度10规模0位置1可选自动增量生成的}, {的名字first_namejdbcType12nativeTypetypeNamevarchartypeExpressionvarcharcharsetName长度255规模位置2可选自动增量生成的}, {的名字last_namejdbcType12nativeTypetypeNamevarchartypeExpressionvarcharcharsetName长度255规模位置3.可选自动增量生成的}, {的名字电子邮件jdbcType12nativeTypetypeNamevarchartypeExpressionvarcharcharsetName长度255规模位置4可选自动增量生成的}]}}]}

要了解有关模式更改主题的更多信息,请参阅特定于连接器的文档,例如SQL Server.请注意,此功能目前处于孵化状态,这意味着例如,根据我们从社区收到的反馈,事件格式的详细信息可能会在未来的版本中更改。

基于内容的主题路由

使用新的单消息转换(SMT)基于内容的主题路由您可以根据主题的列值控制特定的更改事件被发送到的主题。以一个数据库表为例开云体育电动老虎机对purchase_orders其中包含B2B和B2C两种订单。它们的更改事件应该被发送到Apache Kafka中每种类型的不同主题。为此,可以利用JavaScript或Groovy等语言中的简单脚本表达式:

...transforms.route.type=io.debezium.transfor开云体育官方注册网址ms.Filter transforms.route.language=jsr223. gral .js transforms.route.topic.expression=value.after。ordertype == 'B2C' ?'b2c_orders': 'b2b_orders'…

进一步的更改和错误修复

此版本的其他一些特性和修复包括:

  • 支持PostgresJSONJSONB时间而且时间戳数组列(dbz - 1969dbz - 1990

  • Postgres连接器的列白名单,如果您只对捕获表列的一小部分感兴趣(dbz - 1962

  • MySQL的刷新表语句被正确处理(dbz - 2047

  • 在路由发件箱事件中使用唯一名称空间(dbz - 1963

  • 修正了Postgres中潜在的值溢出问题一些不同的列(dbz - 1949

  • 支持eventType字段已从发件箱路由SMT (dbz - 2014);如果需要,请将此字段显式配置为报头或消息值属性;这样做是为了允许使用任何自定义名称导出该字段,这在以前是不容易实现的

  • 改进了使用枚举列时Postgres连接器的启动性能(dbz - 2038

详情请参阅发布说明查看所有已解决问题和升级程序的列表。

贡纳Morling

Gunnar是Decodable的软件工程师,也是一名不折不扣的开源爱好者。多年来,他一直是Debezium的项目负责人。开云体育官方注册网址Gunnar创建了kcctl、JfrUnit和MapStruct等开源项目,并且是Bean验证2.0 (JSR 380)的规范负责人。他在德国汉堡工作。


关于Debe开云体育官方注册网址zium

开云体育官方注册网址Debezium是一个开源的分布式平台,它将现有数据库转换为事件流,因此应用程序几乎可以立即看到并响应数据库中提交的每一个行级更改。开云体育电动老虎机开云体育官方注册网址Debezium是建立在卡夫卡并提供卡夫卡连接监控特定数据库管理系统的兼容连接器。开云体育电动老虎机开云体育官方注册网址Debezium在Kafka日志中记录了数据更改的历史,所以你的应用程序可以在任何时候停止和重新启动,并且可以很容易地使用它没有运行时错过的所有事件,确保所有事件都被正确和完整地处理。开云体育官方注册网址Debezium是开源Apache许可证,版本2.0

参与

我们希望您觉得Debezium有趣开云体育官方注册网址且有用,并愿意尝试一下。在Twitter上关注我们@开云体育官方注册网址debezium在Zulip上和我们聊天,或加入我们的邮件列表与社区对话。所有的代码都是开源的GitHub上,因此在本地构建代码并帮助我们改进现有连接器并添加更多连接器。如果您发现了问题或对我们如何改进Debezium有想法,请告诉我们开云体育官方注册网址记录问题