我很高兴能和大家分享Debezium开云体育官方注册网址2.0.0.Alpha3已经发布了!

虽然这个版本包含了大量的错误修复,但也有一些值得注意的改进,包括在事务元数据事件中提供时间戳,在Oracle的更改事件源块中添加了几个新字段,以及对Oracle连接器偏移量的非向后兼容更改。

让我们更详细地看看这些。

事务元数据更改

事务元数据事件描述开始结束(提交)数据库事务。开云体育电动老虎机这些事件有很多用处,包括审计。默认情况下,连接器不会生成事务元数据事件,要启用此功能,请使用provide.transaction.metadata选项必须启用。

在这个版本中,两者都有开始而且结束活动包括一个新的领域,ts_ms,这是根据事件类型记录事务开始开云体育电动老虎机或提交时间的数据库时间戳。这样一个事件的例子如下:

状态结束id12345event_count2ts_ms1657033173441data_collections: [{data_collections1.aevent_count1}, {data_collections2.aevent_count1}]}

如果您已经在使用事务元数据特性,那么升级后的新事件将包含此字段。

如果您没有使用事务元数据特性,但发现该特性很有用,只需添加provide.transaction.metadata选项设置为真正的到连接器配置。默认情况下,元数据事件被触发到以您的开云体育电动老虎机database.server.name选择。属性可以覆盖该属性transaction.topic选项,如下所示:

开云体育电动老虎机database.server.name = server1 provide.transaction。元数据= true transaction.topic = my-transaction-events

在本例中,所有事务元数据事件都将被发送到my-transaction-events.有关更多详细信息,请参阅连接器特定配置。

Oracle源信息更改

信息块是变更事件有效负载中的一个部分,它描述了生成变更事件的数据库属性。开云体育电动老虎机例如,此部分包括系统更改号、更改的数据库时间戳以及更改所在的事务。开云体育电动老虎机

在这个版本中,我们确定了一个回归视交叉上核字段没有正确反映的权利更改事件发生的位置。虽然Oracle使用相同的系统更改号生成多个更改并不异常,但我们确实发现了导致将错误的系统更改号分配给作用域事务中的每个事件的回归,这使得一些人很难将此信息用于审计目的。的source.scn字段现在应该正确反映从Oracle LogMiner或Oracle Xstream的系统更改数。

属性中添加了几个新字段信息块,以提高与LogMiner实现和Oracle RAC的集成。新建源信息块的示例:

: {版本2.0.0.Alpha3的名字server1ts_ms1520085154000txId6.28.807视交叉上核2122184commit_scn2122185rs_id001234.00012345.0124ssn0redo_thread1}}

新增字段为:

rs_id

指定与更改关联的回滚段标识符。

ssn

属性的组合,指定SQL序列号rs_id表示一个唯一的元组。

redo_thread

指定管理变更生命周期的实际数据库重做线程。开云体育电动老虎机

无论使用Oracle Standalone还是RAC,使用Oracle LogMiner时将始终提供这些值。这些值在Oracle RAC安装中更重要,因为有多个数据库服务器同时操作共享数据库。开云体育电动老虎机这些字段明确地注释了变更起源于哪个节点以及该节点上的哪个位置。

Oracle连接器偏移量变化

在Oracle RAC (Real Application Clusters)环境中,多个节点同时访问和操作Oracle数据库。开云体育电动老虎机每个节点维护自己的重做日志缓冲区,并执行自己的重做写入线程。这意味着在任何给定的时刻,每个节点都有自己独特的“位置”,这些位置将完全不同于在每个节点上发生的活动。

在这个版本中,有必要对dbz - 5245支持Oracle RAC。以前,连接器偏移量维护一个名为视交叉上核它表示连接器应该从哪里流更改的“位置”。但是由于每个节点可能位于重做中的不同位置,因此单个节点视交叉上核Oracle RAC的值不足。

旧的Oracle连接器偏移量是这样的:

视交叉上核1234567890commit_scn2345678901lcr_positiontxId

从2.0.0开始。Alpha3,新的偏移量结构现在有这样的形式:

视交叉上核1234567890:00124.234567890.1234:0:1, 1234567891:42100.0987656432.4321:0:2commit_scn2345678901lcr_positiontxId

你会注意到视交叉上核Field现在由逗号分隔的值列表组成,其中每个条目代表一个值元组。这个新的元组的格式为视交叉上核:rollback-segment-id: ssn: redo-thread

虽然此更改是向前兼容的,但这意味着您可以安全地升级到2.0.0。Alpha3和旧格式可以读取,一旦新格式写入偏移量,旧版本的连接器将无法读取偏移量。如果升级并决定需要回滚,请注意需要手动调整连接器偏移量视交叉上核字段,以简单地包含最新的字符串视交叉上核值跨所有重做线程。

其他修复和改进

在这个版本中有几个bug修复和稳定性的变化,一些值得注意的是:

  • 从偏移量加载LSN不正确dbz - 3942

  • 开云体育电动老虎机数据库历史恢复将保留重命名后的旧表dbz - 4451

  • 添加带有增量快照的新表失败dbz - 4834

  • BigDecimal对于给定的Decimal模式具有不匹配的比例值dbz - 4890

  • 开云体育官方注册网址Debezium从未找到起始LSNdbz - 5031

  • 在debezium服务器上使用postgresql源的数据复制问题开云体育官方注册网址dbz - 5070

  • 游标获取用于连接期间的所有结果dbz - 5084

  • 当表名有空间时,Debezuim连接器在解析选择语句覆盖时失败dbz - 5198

  • DDL语句无法解析2 - Oracle连接器1.9.3.Finaldbz - 5230

  • 开云体育官方注册网址Debezium服务器复制脚本jar文件dbz - 5232

  • 不能将字段类型tinyint(1) unsigned转换为booleandbz - 5236

  • Oracle无法解析ddl创建表dbz - 5237

  • 父分区表上的增量快照不工作dbz - 5240

  • 字符集影响因素没有根据默认值正确解析dbz - 5241

  • NPE时使用Debezium 开云体育官方注册网址Embedded in Quarkusdbz - 5251

  • Oracle LogMiner可能会在已删除的归档日志中的正在进行的事务中失败dbz - 5256

  • 重命名模式更改事件中源块表名的顺序是不确定的dbz - 5257

  • 开云体育官方注册网址如果节点宕机,Debezium将无法连接到副本集dbz - 5260

  • 当oracle连接器获得新的lob数据时,commit_scn没有变化dbz - 5266

  • 无效日期“9月31日”dbz - 5267

  • 开云体育电动老虎机database.history.store.only. capturing .tables.ddl不抑制日志dbz - 5270

  • io.开云体育官方注册网址 debezum .text. parsingexception: DDL语句无法解析dbz - 5271

  • 在Mongo连接器的快照期间死锁dbz - 5272

  • Mysql解析器不能处理KILL命令中的变量dbz - 5273

  • 开云体育官方注册网址Debezium服务器连接到Azure事件集线器时失败dbz - 5279

  • 当数据库历史主题无法创建或不存在时,ORA-01086保存点从未建立开云体育电动老虎机dbz - 5281

  • 启用databas开云体育电动老虎机e.history.store.only. capturing .tables.ddl不限制历史主题记录dbz - 5285

总共,总共66年问题修复了此版本。

接下来是什么?

您可以期待1.9.5版本。最终版本将于下周发布。这个版本将包括许多bug修复,这是这个版本的一部分,因为我们继续提高1.9在微版本中的稳定性。

你也可以期待2.0.0版本。Beta1在接下来的3周,保持我们通常的发布节奏。下一个主要里程碑包括跨连接器统一快照模式,这是一个新的快照所有连接器的API,紧凑的JSON数据库历史,偏移量统一,偏移量存储API等等。开云体育电动老虎机

克里斯克兰福德

克里斯是红帽公司的软件工程师。他以前是Hibernate ORM团队的成员,现在在Debezium工作。开云体育官方注册网址他住在北卡罗来纳州,距离红帽塔只有几个小时的路程。


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

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

参与

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