
我很高兴能和大家分享Debezium开云体育官方注册网址2.0.0.Alpha3已经发布了!
虽然这个版本包含了大量的错误修复,但也有一些值得注意的改进,包括在事务元数据事件中提供时间戳,在Oracle的更改事件源块中添加了几个新字段,以及对Oracle连接器偏移量的非向后兼容更改。
让我们更详细地看看这些。
事务元数据更改
事务元数据事件描述开始和结束(提交)数据库事务。开云体育电动老虎机这些事件有很多用处,包括审计。默认情况下,连接器不会生成事务元数据事件,要启用此功能,请使用provide.transaction.metadata
选项必须启用。
在这个版本中,两者都有开始
而且结束
活动包括一个新的领域,ts_ms
,这是根据事件类型记录事务开始开云体育电动老虎机或提交时间的数据库时间戳。这样一个事件的例子如下:
{"状态":"结束","id":"12345","event_count":2,"ts_ms":"1657033173441","data_collections": [{"data_collection":"s1.a","event_count":1}, {"data_collection":"s2.a","event_count":1}]}
如果您已经在使用事务元数据特性,那么升级后的新事件将包含此字段。
如果您没有使用事务元数据特性,但发现该特性很有用,只需添加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","的名字":"server1","ts_ms":1520085154000,"txId":"6.28.807","视交叉上核":"2122184","commit_scn":"2122185","rs_id":"001234.00012345.0124","ssn":0,"redo_thread":1}}
新增字段为:
-
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连接器偏移量是这样的:
{"视交叉上核":"1234567890","commit_scn":"2345678901","lcr_position":零,"txId":零}
从2.0.0开始。Alpha3,新的偏移量结构现在有这样的形式:
{"视交叉上核":"1234567890:00124.234567890.1234:0:1, 1234567891:42100.0987656432.4321:0:2","commit_scn":"2345678901","lcr_position":零,"txId":零}
你会注意到视交叉上核
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年问题修复了此版本。
非常感谢社区中为这个版本工作的所有贡献者:莫汉蒂Anisha,鲍勃Roldan称,柴Stofkoper,克里斯克兰福德,米哈伊尔·杜布罗文,贡纳Morling,哈维曰,Jakub Cechacek,雅罗西克Novotny,雅罗西克Pechanec,小君赵,Kanha古普塔,马克Bereznitsky,明星之家制的,迈克Kamornikov,Naveen Kumar KR,奥斯卡·波拉克,拉胡尔卡纳,罗伯特Roldan称,蒂姆•帕特森,Vojtech Juranek,yangrong688!
接下来是什么?
您可以期待1.9.5版本。最终版本将于下周发布。这个版本将包括许多bug修复,这是这个版本的一部分,因为我们继续提高1.9在微版本中的稳定性。
你也可以期待2.0.0版本。Beta1在接下来的3周,保持我们通常的发布节奏。下一个主要里程碑包括跨连接器统一快照模式,这是一个新的快照
所有连接器的API,紧凑的JSON数据库历史,偏移量统一,偏移量存储API等等。开云体育电动老虎机
关于Debe开云体育官方注册网址zium
开云体育官方注册网址Debezium是一个开源的分布式平台,它将现有数据库转换为事件流,因此应用程序几乎可以立即看到并响应数据库中提交的每一个行级更改。开云体育电动老虎机开云体育官方注册网址Debezium是建立在卡夫卡并提供卡夫卡连接监控特定数据库管理系统的兼容连接器。开云体育电动老虎机开云体育官方注册网址Debezium在Kafka日志中记录了数据更改的历史,所以你的应用程序可以在任何时候停止和重新启动,并且可以很容易地使用它没有运行时错过的所有事件,确保所有事件都被正确和完整地处理。开云体育官方注册网址Debezium是开源下Apache许可证,版本2.0.
参与
我们希望您觉得Debezium有趣开云体育官方注册网址且有用,并愿意尝试一下。在Twitter上关注我们@开云体育官方注册网址debezium,在Zulip上和我们聊天,或加入我们的邮件列表与社区对话。所有的代码都是开源的GitHub上,因此在本地构建代码并帮助我们改进现有连接器并添加更多连接器。如果您发现了问题或对我们如何改进Debezium有想法,请告诉我们开云体育官方注册网址记录问题.