今天,我很高兴地宣布Debezium的上市开云体育官方注册网址2.0.0.Final

自我们在2019年12月发布1.0版本以来,社区一直在努力构建一个全面的开源低延迟的变更数据捕获平台(CDC)。在过去的三年中,我们扩展了Debezium的产品组合,包括Oracle的稳定连接器、Vi开云体育官方注册网址tess的社区主导连接器、增量快照的引入、多分区支持等等。在我们活跃的贡献者和提交者社区的帮助下,Debezium是CDC领域事实上的领导者,它被部署到跨多个行业的许多组织的生产中,使用数百个连接器开云体育官方注册网址从数千个数据库平台传输数据更改。开云体育电动老虎机

2.0版本标志着Debezium的一个新的里程碑,我们很自豪地与你们每个人分享这个里开云体育官方注册网址程碑。

在这篇文章中,我们将深入探讨Debezium 2.0中的所有变化,讨论新特性并解释所有可能在升级过程中产生影响的突破性变化。开云体育官方注册网址一如既往,我们强烈建议你看一下发布说明了解更多关于所有已修复的错误、更新程序等[发布说明],特别是从旧版本升级时。

核心Debezium的变化开云体育官方注册网址

在Debezium 2.0中,Debezium的开云体育官方注册网址基本核心发生了相当大的变化。在本节中,我们将深入探讨Debezium核心的变化,并讨论这些变化如何影响Debezium的所有用户。开云体育官方注册网址

需要java11

我们想要飞跃到Java 11已经有很长一段时间了,我们觉得Debezium 2.0是正确的时机。开云体育官方注册网址在Java 11中,这使我们能够利用新的语言特性,例如新的字符串API和谓词支持代码库中的更改,同时还受益于许多Java性能改进。

我们自己的Vojtech Juranek出版了这个博客他详细讨论了Java 11的转换。使用Debezium需要Java 11运行时,所以在升级之前要确保Java 11可用。开云体育官方注册网址

改进的增量快照

停止

自从我们首次引入增量快照以来,用户一直在要求一种停止正在进行的快照的方法。为了实现这一点,我们添加了一个新信号,stop-snapshot,允许停止正在进行的增量快照。通过在信号表/集合中插入一行,这个信号将像其他信号一样发送,如下所示:

插入模式。Signal_table (id, type,data)惟一的idstop-snapshot> _ <信号负载_ ');

stop-snapshot有效载荷看起来和它非常相似execute-snapshot同行。一个例子:

数据收集:【schema1.table1schema2.table2),类型增量

本例删除了两者schema1.table1而且schema2.table2从增量快照开始,只要表或集合还没有完成其增量快照。删除指定的表或集合后,如果其他表或集合仍然未完成数据收集,增量快照将继续处理未完成的快照。如果没有其他表或集合,增量快照将停止。

另一个例子stop-snapshot有效载荷很简单:

类型增量

属性数据收集属性的可选属性stop-snapshot信号。如果未指定此属性,该信号表示当前正在进行的增量快照应该完全停止。这使得可以在不知道当前或尚未捕获的未完成的表或集合的情况下停止增量快照。

暂停和恢复

增量快照已经成为Debezium中不可或缺的特性。开云体育官方注册网址增量快照特性允许用户基于各种原因对一个或多个集合/表重新运行快照。增量快照最初是用开始信号。我们最终添加了能力停止正在进行的增量快照,或者能够从正在进行的增量快照中删除集合/表的子集。

在这个版本中,我们在现有的信号基础上进行了构建,并引入了两个新的信号暂停一个正在进行的增量快照,然后另一个重新开始增量快照(如果之前暂停过)。如果需要暂停增量快照,可以使用apause-snapshot信号必须发送,为了恢复,aresume-snapshot信号可以使用。

这两个新信号可以使用MySQL的信号表策略或Kafka信号主题策略发送。详情请参阅信号支持文档有关信号及其工作原理的详细信息。

使用正则表达式

增量快照信号要求在中使用显式表/集合名称数据收集负载属性。虽然这工作得很好,但可能在某些情况下,广泛的捕获配置可以利用正则表达式的使用。我们已经在连接器配置选项中支持正则表达式,例如包含/排除列表,因此将其扩展到增量快照也很有意义。

从Debezium 2.开云体育官方注册网址0开始,所有增量快照信号都可以在数据收集有效载荷性质。使用上面的停止信号示例之一,有效负载可以使用正则表达式重写:

数据收集:【模式[1 | 2].table [1 | 2]),类型增量

就像显式用法一样,这个带有正则表达式的信号也会停止两者schema1.table1而且schema2.table2

应用带有SQL条件的过滤器

虽然不常见,但也可能出现连接器配置错误等情况,需要将特定记录或记录子集重新发送到主题。不幸的是,增量快照传统上是一种全有或全无类型的流程,我们将从集合或表中重新发出所有记录作为快照的一部分。

在这个版本中,一个新的附加条件属性可以在信号有效负载中指定,允许信号指定一个基于sql的谓词来控制增量快照中应该包括哪些记录子集,而不是的默认行为所有行

对象发送增量快照信号的示例如下产品表,但不是将表中的所有行发送到主题附加条件属性可将快照限制为仅发送与产品id =相关的事件12

类型execute-snapshot数据: {数据收集:【inventory.products),类型增量附加条件product_id = 12}}

我们相信这个新的增量快照特性在很多方面都非常有用,当只需要一部分数据时,不必总是重新快照所有行。

信号数据库集合开云体育电动老虎机自动添加到包含滤波器

在以前的Debezium版本中,用于增量快开云体育官方注册网址照的信号收集/表必须手动添加到您的table.include.list连接器属性。这个版本的一个大主题是对增量快照的改进,所以我们也利用这个机会简化了这一点。从这个版本开始,Debezium将自动将信号收集/表开云体育官方注册网址添加到表包含过滤器中,避免了用户手动添加它。

此更改不会带来任何兼容性问题。中已经包含信号采集/表的连接器配置table.include.list属性将继续工作,不需要任何更改。但是,如果您希望使您的配置与当前行为保持一致,您也可以安全地将信号收集/表从table.include.list, Debe开云体育官方注册网址zium将开始自动为您处理这个问题。

事务元数据更改

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

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

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

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

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

topic.prefix=server1 provide.transaction.metadata=true transaction.topic=my-transaction-events

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

多分区模式现在是默认的

许多数据库开云体育电动老虎机平台支持开箱即用的多租户,这意味着您可以只安装一个数据库引擎,而拥有许多独特的数据库。在SQL Server这样的情况下,传统上需要为每个唯一的数据库部署单独的连接器。开云体育电动老虎机在过去的一年里,人们做了大量的工作来打破这个障碍,并引入了一种通用的方式,任何单个连接器部署都可以连接和传输来自多个数据库的更改。开云体育电动老虎机

第一个值得注意的变化是SQL Server连接器的配置选项,开云体育电动老虎机database.dbname.该选项已被一个名为开云体育电动老虎机database.names.由于多分区模式现在是默认的,这是新的开云体育电动老虎机database.names选项可以使用逗号分隔的数据库名称列表指定,如下所示:开云体育电动老虎机

开云体育电动老虎机database.names = TEST1, TEST2

在本例中,将连接器配置为从同一主机安装上的两个惟一数据库捕获更改。开云体育电动老虎机连接器将在Kafka Connect中启动两个独特的任务,每个任务将同时负责来自各自数据库的流更改。开云体育电动老虎机

第二个值得注意的变化是连接器指标命名。连接器通过使用唯一名称标识的bean公开JMX指标。多分区模式是多个任务的默认模式,每个任务都需要自己的指标bean,因此有必要更改命名策略。

以SQL Server为例,在旧版本的De开云体育官方注册网址bezium中,指标可以使用以下命名策略:

开云体育官方注册网址debezium.sql_server: type = connector-metrics, server = < sqlserver.server.name >,上下文= > <上下文

在这个版本中,命名策略现在包括一个新的任务JMX MBean名称中的组件:

开云体育官方注册网址debezium.sql_server: type = connector-metrics, server = < sqlserver.server.name >,任务= < task.id >,上下文= > <上下文

请检查您的指标配置,因为命名更改可能会对收集Debezium指标产生影响。开云体育官方注册网址

新的存储模块

在这个版本中,我们引入了一个新的开云体育官方注册网址debezium-storage基于文件和kafka的数据库历史记录和偏移存储的工件集。开云体育电动老虎机这是未来支持Amazon S3、Redis和可能的JDBC等平台的几个实现中的第一个更改。

对于通过插件构件安装连接器的用户来说,这应该是一个无缝的改变,因为所有的依赖都捆绑在那些插件可下载存档中。对于可能在其应用程序中嵌入Debezium或可能开云体育官方注册网址正在构建自己的连接器的用户,请注意您可能需要根据所使用的存储实现添加新的存储依赖项。

可插入的主题选择器

开云体育官方注册网址Debezium的默认主题命名策略向已命名的主题发出更改事件开云体育电动老虎机database.schema.table.如果您需要以不同的方式命名主题,通常会将SMT添加到连接器配置中以调整这种行为。但是,如果这个主题名称的一个组件(可能是数据库或表名)包含点(开云体育电动老虎机),也许SMT没有足够的上下文。

在这个版本中,一个新的TopicNamingStrategy引入的目的是允许在Debezium内部完全自定义这种行为。开云体育官方注册网址缺省命名策略实现在大多数情况下应该足够了,但如果您发现它不能满足要求,则可以提供自定义的命名策略实现TopicNamingStrategy契约以完全控制连接器使用的各种命名。要提供自己的自定义策略,可以指定topic.naming.strategyConnector选项,使用策略的全限定类名,如下所示:

topic.naming.strategy = org.myorganization.MyCustomTopicNamingStrategy

这种自定义策略不仅限于控制表映射的主题名称,还可以控制模式更改、事务元数据和心跳。您可以参考DefaultTopicNamingStrategy发现在这里举个例子。这个功能仍在孵化中,我们会在收到反馈后继续改进和开发它。

改进的惟一索引处理

Debezium连接器捕获的表不一定要有主键。开云体育官方注册网址在没有定义主键的情况下,Debezium将检查表的唯一索引,以确定是否可以进行合理的键替换开云体育官方注册网址。在某些情况下,索引可以引用列,例如CTIDPostgreSQL或ROWID在Oracle。这些列既不可见也不用户定义,而是由数据库自动生成的隐藏合成列。开云体育电动老虎机此外,索引还可以使用数据库函数来转换存储的列值,例如开云体育电动老虎机较低的为例。

在此版本中,依赖于隐藏的、自动生成的列或包装在数据库函数中的列的索引不再有资格作为主键替代品。开云体育电动老虎机这保证了当依赖索引作为主键而不是定义的主键本身时,生成的消息的主键值元组直接映射到数据库用来表示惟一性的相同值。开云体育电动老虎机

新的配置名称空间

Debezium 2.0最大的改动之一是引入了新的连接器属性名称空间。开云体育官方注册网址从Debezium 2.开云体育官方注册网址0 Beta2开始,许多连接器属性都被重新定位为新的名称。这是一个突破性的更改,在升级过程中会影响大部分(如果不是全部的话)连接器部署。

开云体育官方注册网址Debezium以前使用了前缀“database.”和开云体育电动老虎机大量不同的连接器属性。其中一些属性要直接传递给JDBC驱动程序,在其他情况下要传递给数据库历史实现,等等。开云体育电动老虎机不幸的是,我们发现某些属性被传递给底层实现的情况并非有意为之。虽然这不会产生任何类型的回归或问题,但如果存在属性名称冲突,例如,JDBC驱动程序属性与前缀为“database.”的Debezium连接器属性匹配,则可能会在未来引入一个问题。开云体育官方注册网址开云体育电动老虎机

下面描述对连接器属性的更改

  • 所有配置以前前缀为开云体育电动老虎机database.history。现在是要前缀使用吗schema.history.internal。代替。

  • 以前指定的所有JDBC直通选项开云体育电动老虎机数据库。前缀现在应该使用前缀司机。代替。

  • 开云体育电动老虎机database.server.name连接器属性重命名为topic.prefix

  • MongoDBmongodb.name连接器属性对齐以使用topic.prefix代替。

同样,请在部署之前检查连接器配置并进行相应调整。

所有已命名和版本化的模式

开云体育官方注册网址Debezium更改事件是通过模式定义发出的,模式定义包含关于字段的元数据,如类型、是否需要等等。在Debezium以前的迭代中,一些模式定义没有显式开云体育官方注册网址的名称,也没有显式的版本控制。在这个版本中,我们已经开始确保所有模式定义都有一个显式的名称和与其关联的版本。此更改的目标是帮助将来的事件结构兼容性,特别是对于那些正在使用模式注册中心的人。但是,如果您目前正在使用模式注册表,请注意此更改可能会在升级过程中导致模式兼容性问题。

默认情况下将跳过截断事件

开云体育官方注册网址方法支持跳过特定的事件类型skipped.operations连接器配置中的Connector属性。如果您只对操作的一个子集感兴趣,比如只对插入和更新感兴趣,而对删除不感兴趣,那么这个特性可能很有用。

一种特定的事件类型截断(t),仅由关系连接器的子集支持,并且是否要跳过这些事件也不一致。在这个版本中,我们对齐了skipped.operations行为,以便如果连接器支持截断事件,默认情况下将跳过这些事件。

请查看以下规则集:

  • 连接器支持截断事件,而不是Oracle连接器

  • 连接器配置没有指定skipped.operations在构型中

如果以上都是正确的,那么连接器的行为将在升级后发生变化。如果希望继续发出截断事件,则skipped.operations =没有需要进行配置。

的变化schema.name.adjustment行为

schema.name.adjustment.mode配置属性控制如何调整模式名称以与连接器使用的消息转换器兼容。该配置选项可以是以下值之一:

avro

复制在Avro类型名称中不能使用下划线的字符。

没有一个

不调整名称,即使检测到不符合avro的字符。

在以前的版本中,Debezium总是默开云体育官方注册网址认为安全值avro;但是,从Debezium 2.0.0开始。开云体育官方注册网址CR1的默认值现在是没有一个.我们认为,考虑到Avro序列化的使用是由用户根据自己的需要选择的,这个选项应该与相同的选择行为保持一致。

安全的升级路径是调整配置并显式使用schema.name.adjustment.mode作为avro并对新连接器部署使用默认值。但是您也可以检查您的主题名称和配置,检查没有发生下划线替换,因此这个更改不会产生任何影响。

Cassandra连接器的更改

Cassandra 4增量提交日志支持

卡桑德拉4通过添加一个功能,当fsync操作发生时,Cassandra将更新一个基于CDC的索引文件,以包含最新的偏移值,从而改进了与CDC的集成。这个索引文件允许CDC实现读到Cassandra中认为持久的偏移量。

在这个版本中,Debezium现在开云体育官方注册网址使用这个基于CDC的索引文件来消除以前存在的Cassandra处理CDC事件的固有延迟。这将为Cassandra用户提供Debezium在CDC方面的实质性改进,并激励他们考虑Cassandra 4而不是Cassandra 3。开云体育官方注册网址

对MongoDB连接器的更改

删除oplog实现

在De开云体育官方注册网址bezium 1.8中,我们引入了新的MongoDB变更流特性,同时弃用了oplog实现。向更改流的过渡提供了各种好处,例如能够从非主节点传输更改,能够为下游消费者发出具有完整文档表示的更新事件,等等。简而言之,变更流只是MongoDB执行变更数据捕获的一种更高级的方式。

删除oplog实现也意味着MongoDB 3。不再支持X。如果您正在使用MongoDB 3。x,您将需要升级到至少MongoDB 4.0或更高版本的Debezium 2.0。开云体育官方注册网址

在状态支持之前(MongoDB 6.0)

MongoDB 6支持在应用更改之前捕获文档的状态。长期以来,这一直是一个仅对基于关系的连接器可用的特性,但现在这使得Debezium还可以包括开云体育官方注册网址之前字段作为MongoDB的事件有效负载的一部分。

要启用这个新的MongoDB 6+行为,请使用capture.mode设置已调整为包括两个新值:

change_streams_with_pre_image

更改事件还将包含来自的完整文档之前更改以及作为更改事件一部分更改的文档字段的最终状态。

change_streams_update_full_with_pre_image

当发生更新时,不仅将呈现完整的文档以表示更新后的当前状态,而且事件还将包含来自的完整文档之前还有变化。

MongoDB之前字段行为仅在MongoDB 6或更高版本上可用。如果您使用的是6.0之前的MongoDB版本,则之前字段从事件输出中被省略,即使配置了。

对MySQL连接器的更改

删除遗留的MySQL实现

有些人可能知道,也可能不知道,我们在Debezium 1.5(2021年2月)中基于通用连接器框架实现了MySQL连接器。开云体育官方注册网址作为重写的一部分,我们引入了MySQL用户使用配置选项启用遗留连接器行为的能力internal.implementation设置为遗产.为了支持新的通用连接器框架行为,这种遗留实现已被弃用。有了Deb开云体育官方注册网址ezium 2.0,这个internal.implementation配置选项和遗留连接器实现已被删除。

如果您当前的连接器部署依赖于这个遗留的实现,那么您应该意识到,通过升级到Debezium 2.0,连接器将不再使用旧的实现,而将只使用公共连接器实现。开云体育官方注册网址就功能而言,两种实现都是对等的,只有一个例外:遗留实现对更改过滤器配置提供了实验性支持。如果您依赖于此遗留行为,请注意该特性不再可用。

Binlog压缩支持

在这个版本中,Debezium现在开云体育官方注册网址支持读取已启用压缩写入的binlog条目。在8.0.20版本中,MySQL增加了使用ZSTD算法压缩binlog事件的能力。要启用压缩,必须切换binlog.transaction_compression将MySQL服务器上的变量改为.当启用压缩时,binlog的行为与往常一样,只是binlog条目的内容被压缩以节省空间,并以压缩格式复制到副本,从而显著降低了较大事务的网络开销。

如果您有兴趣阅读更多关于MySQL binlog压缩的内容,可以参考二进制日志事务压缩请参阅MySQL文档中的部分以了解更多细节。

Oracle连接器的更改

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

从Debezium 2.开云体育官方注册网址0开始,新的偏移结构现在有这样的形式:

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

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

此更改是向前兼容的,这意味着一旦升级到Debezium 2.0,旧版本的连接器将无法读取偏移量。开云体育官方注册网址如果升级并决定回滚,请注意偏移量将需要手动调整偏移量视交叉上核字段,以简单地包含最新的字符串视交叉上核值跨所有重做线程。

Oracle在变更事件中提交用户

变更事件的源信息块携带了关于变更事件起源的各种上下文。在这个版本中,Oracle连接器现在在捕获的更改事件中包含了进行数据库更改的用户。开云体育电动老虎机一个新的领域,user_name,现在可以在源信息块中找到这个新信息。该字段是可选的,仅在使用基于logminer的实现触发更改时可用。该字段还可以包含值未知的如果在连接器捕获变更之前删除了与变更关联的用户。

对PostgreSQL连接器的更改

删除对wal2json的支持

在Debezium的整开云体育官方注册网址个生命周期中,PostgreSQL连接器支持多种解码器实现,包括decoderbufswal2json,pgoutput.这两个decoderbufs而且wal2json插件需要在数据库服务器上安装特殊的库来捕获来自PostgreSQL的更改。开云体育电动老虎机

PostgreSQL 9.6标记为生命终结在2021年11月,我们觉得现在是一个很好的机会来简化支持的解码器的数量。与PostgreSQL 10及以后版本支持的pgoutput的解码器本身,我们得出的结论是,删除对wal2jsonDebezium 2开云体育官方注册网址.0插件。

如果您仍在使用PostgreSQL 9.6或wal2json解码器,您将被要求升级到PostgreSQL 10+或decoderbufs或者本地人pgoutput插件使用Debezium前进开云体育官方注册网址。

对Vitess连接器的更改

Vitess的多任务支持

Vitess连接器以前允许在两种不同的模式下操作,这完全取决于连接器配置是否指定了任何碎片细节。不幸的是,在这两种情况下,每一种都导致了一个负责执行VStream处理的任务。对于有许多分片的大型Vitess安装,这种架构可能会开始出现延迟问题,因为它可能无法跟上所有分片的所有更改。更复杂的是,在指定碎片细节时,这需要手动在集群中解析碎片,并为每个碎片启动单个Debezium连接器,这既容易出错,更重要的是可能导致部署许多Debezium连接器。开云体育官方注册网址

Vitess社区认识到这一点,并试图从维护和错误的角度寻找解决所有这些问题的解决方案。在De开云体育官方注册网址bezium 2.0 Beta2中,Vitess连接器现在通过发现机制自动解析碎片,这与MongoDB非常相似。然后,这种发现机制将负载分散到多个任务上,允许Debezium的单个部署在每个分片或分片列表上运行一个任务,具体取决于连接器允许的最大任务数。开云体育官方注册网址

在升级期间,Vitess连接器将自动将偏移存储迁移到多任务行为使用的新格式。但是请注意,一旦升级,您将无法降级到较早的版本,因为偏移存储格式将发生更改。

Debezium容器图像开云体育官方注册网址的更改

支持ARM64

近年来,ARM64的性能发生了变化,即使在AWS,他们的64位ARM处理器的性能也超过了最新的x86-64处理器。这使得整个行业都在关注使用容器支持这两种架构的成本效益。

因为Debe开云体育官方注册网址zium已经传统地发布了linux / amd64基于容器的映像,这要求您在虚拟机中使用模拟运行映像。这会导致不必要的开销和潜在的性能问题,而Debezium的目标是低延迟和超高速!开云体育官方注册网址从Debezium 2.0开开云体育官方注册网址始,Debezium现在也使用ARM64基于容器映像,减少所需的开销。

我们希望新的ARM64容器图像能够改善Debezium的采用,并表明我们致力于在整个行业中提供最佳的变更数据捕获体验。开云体育官方注册网址

社区空间

本周晚些时候,还会有几个新的社区驱动的在我们的Zulip聊天平台上提供讨论空间。我们将发表一篇博客文章,讨论这些新频道的目的和目标,但我们也想在这里介绍一下这个新功能。

不像#用户渠道旨在提供社区驱动的支持,这些空间旨在为社区提供一个地方来讨论特定数据库技术、Debezium服务的经验,以及比支持更广泛的主题。开云体育官方注册网址开云体育电动老虎机这些空间将按技术进行划分,允许用户社区轻松地针对特定感兴趣的领域,并参与与特定数据库和服务相关的讨论。开云体育电动老虎机

这些空间并不意味着是支持场所,我们仍将期待那些继续培育#用户频道继续前进,所以请关注本周晚些时候的这些新的社区空间和博客。

其他修复和改进

在整个Debezium 2.0的开发过程中,有许多错误修复、稳定性更改和改进。开云体育官方注册网址总共,总共463年问题修复了此版本。

非常感谢社区中为这个主要版本工作的所有贡献者:Wang Min Chao, Rotem[Adhoh],艾哈迈德ELJAMI阿尔贝托·马蒂诺亚历山大·施瓦兹Alexey LoubyanskyAlexey Miroshnikov,伽柏(安德拉斯),安德鲁·沃克安德烈Pustovetov莫汉蒂AnishaAvinash Vishwakarma黄本鲍勃Roldan称布拉德•摩根Calin Laurentiu Ilie乍得Marmon柴Stofkoper克里斯克兰福德克里斯。李老人易卜生康纳Szczepaniak塞萨尔马丁内斯Debjeet Sarkar米哈伊尔[Dubrovin],Eliran Agranovich伊桑邹以察Karavani伽柏安德拉斯Giljae Joo贡纳Morling挂阮哈维曰蔡洪平(Henry Cai)Himanshu Mishra侯赛因TorabiInki黄伊斯梅尔•西姆西可Jakub Cechacek1月延迟性肌肉酸痛Jannik SteinmannJaromir Hamala杰里米·福特中国的太阳雅罗西克Novotny雅罗西克PechanecJochen Schalanda小君赵Kanha古普塔(Katerina Galieva佬司WerkmanMarek温克勒马克Allanson马克Bereznitsky马丁Medek明星之家制的迈克Kamornikov穆罕默德·优素福·明哈吉·齐亚内森·布拉德肖内森SmitNaveen Kumar KR尼尔斯·哈特曼近红外光谱征税Nitin Chhabra奥伦伊莱亚斯保罗TzenPaweł马龙鹏威斗phm ngeconc ThắngPlugaru都铎奥斯卡·(波兰语的),拉胡尔卡纳Rajendra Dangwal雷内·肯纳罗伯特Roldan称路德·h·g·范·托尔Sagar饶圣人皮尔斯Seo Jae-kwon谢尔盖·莫洛佐夫Shichao一Stefan Miklosovic蒂姆•帕特森Timo RoeselerVadzim RamanenkaVivek WassanVojtech JuranekXinbin黄Yossi ShirizliZhongqiang龚议长奥卡mahfoudyangrong688合龙 张崔世杰,민규 김

接下来是什么?

当我们进入假期季节时,我们已经开始了Debezium 2.1的工作,它将在今年晚些时候发布。开云体育官方注册网址您可以期待的一些潜在功能包括:

  • 截断MySQL支持

  • PostgreSQL 15支持

  • JDBC历史和偏移存储支持

一如既往,这个路线图很大程度上受到社区(即您)的影响。因此,如果您想在这里看到任何特定的项目,请告诉我们。现在,让我们庆祝Debezium 2.0发布的辛勤工作,并期待今年晚些时候和2023年将会发生什么!开云体育官方注册网址

向上!

克里斯克兰福德

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


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

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

参与

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