我很高兴宣布Debezium的释放开云体育官方注册网址0.10.0.Alpha1!
Debezium 0.10的主题将会做一开云体育官方注册网址些清理工作(这就是你每年的这个时候,对吧?);我们打算删除一些不受支持的特性和精简一些细节结构CDC事件产生的不同Debezium连接器。开云体育官方注册网址
这意味着从0.10升级到Debezium早期版本可能需要更开云体育官方注册网址多的规划和考虑升级早些时候相比,取决于你的使用功能和选项已经标记为在0.9之前,弃用。但是不用担心,我们在这篇文章里详细描述所有更改的发布说明。
为什么?
首先,让我们讨论一下为什么我们做的这些变化。
在过去的三年里,Debezium已从仅支持单个数据库为开云体育官方注册网址整个家庭开云体育电动老虎机美国疾病控制与预防中心的连接器一系列不同的关系数据库和MongoDB,以及伴随组件消息转换等开云体育电动老虎机主题的路由或实现了发件箱模式。
在任何一个成熟的项目,随着时间的推移,我们认为一些事情应该做不同的比我们最初以为的代码库。比如我们从一张手写的解析器处理MySQL DDL语句更健壮的实现基于Antlr。也我们意识到某些时间列类型的方式出口的风险值溢出在某些条件下,所以我们增加了一个新的模式不容易出现这些问题。作为最后的例子中,我们选择喜欢在快照使用的批量大小一致的跨不同的连接器。
幸运的是,Debe开云体育官方注册网址zium很快得到牵引,尽管0。x版本号,它被大量使用在生产大量的组织,和用户依赖于它的稳定性。所以每当我们做这样的改变,我们旨在让升级经验尽可能光滑;通常这意味着之前的行为仍然可用,但是被标记为过时的文档,而一个新的改进的选择,实现等添加默认行为。
同时,我们意识到,有一些差异连接器也确实不应该。具体来说,源
块更改事件有一些差异使消费者统一处理的比它应该更复杂;例如在MySQL中时间戳字段名为“ts_sec”事件,但“ts_usec Postgres。
记住这一切,我们决定是时候清理这些问题。这样做的目的:
保持代码库维护和开放的未来发展通过删除遗留代码如弃用选项及其处理以及遗产MySQL DDL解析器
从不同的连接器制造中心事件更容易消耗的统一
源
块由不同的连接器尽可能准备项目去1.0版本具有更强的承诺保持向后兼容性比今天已经练习
什么?
现在我们已经讨论了为什么我们觉得是时候对一些“清理”,让我们仔细看看最相关的变化。也请参考“打破变化”部分迁移笔记的更多细节。
MySQL被移除遗留DDL解析器(dbz - 736);如果你不使用Antlr-based(它是在0.8,成为默认0.9中引入的),这是强烈建议您测试数据库。开云体育电动老虎机如果您遇到任何解析错误,请报告我们可以修复他们的0.10最终发行版。
检索新纪录的smt /文档状态更改事件已经更名为从
io.开云体育官方注册网址debezium.transforms.UnwrapFromEnvelope
和io.开云体育官方注册网址debezium.connector.mongodb.transforms.UnwrapFromMongoDbEnvelope
成ExtractNewRecordState
和ExtractNewDocumentState
分别为(dbz - 677)。旧的名字仍然可以用作0.10,但这样做将增加一个警告。他们计划在Debezium删除0.11。开云体育官方注册网址弃用的几个连接器选项Debezium版本已被移除(早些时候开云体育官方注册网址dbz - 1234):
drop.deletes
选择新记录/文件状态提取smt(取代delete.handling.mode
选项),rows.fetch.size
选项(取代snapshot.fetch.size
),自适应
的价值time.precision.mode
选择MySQL(容易价值损失,使用adaptive_microseconds
相反),snapshot.minimal.locks
MySQL连接器(取代snapshot.locking.mode
)几个选项的名称(孵化)SMT发件箱模式已经重命名为了一致性(dbz - 1289)
内的几个字段
源
块的中心事件已经重命名为了一致性(dbz - 596);因为这是技术上向后不兼容的更改当使用Avro和模式注册表,我们添加了一个连接器的选择source.struct.version
,当设置为值v1
将连接器生产之前源
结构。v2
是默认的,任何消费者应该适应新的工作吗源
结构尽快。
新功能和修正
除了这些变化,0.10.0。α版本还包含了一些功能增加和bug修复:
SQL Server连接器支持自定义SELECT语句快照(dbz - 1224)
开云体育电动老虎机数据库、模式和表/名字一直持续添加到集合
源
阻止疾病预防控制中心事件的所有连接器(dbz - 875)客户端身份验证为MySQL连接器(工作dbz - 1228)
嵌入式引擎不重复事件后再重新启动(dbz - 1276)
一个解析器错误有关
创建索引
语句是固定的(dbz - 1264)
总的来说,30个问题在这个版本解决。非常感谢Arkoprabho察克拉波提,Ram Satish和王刘宇超(音)这个版本的贡献!
说到贡献者,我们做了一些家务列表每个人都曾经导致Debezium。开云体育官方注册网址不少于完全111人了代码到目前为止,这是惊人的!非常感谢大家,你们摇滚!
前景
展望未来,有一些更多的细节之前,我们想统一在不同连接器将Debezium 0.10决赛。开云体育官方注册网址比如源
属性快照
将会改变它可以采取三种状态之一:真正的
,假
或去年
(表明这一事件是最后一个期间创建初始快照)。
我们还将继续努力,迁移现有的Postgres连接器框架类建立了SQL Server和Oracle连接器。我们积极探索的另一件事是如何的Postgres可以利用“逻辑复制”功能中添加Postgres 10。这可能会为我们提供一种摄取改变事件而不需要一个定制的服务器端逻辑解码插件,这证明了挑战在云环境中通常只有一组有限的逻辑解码选择。
关于Debe开云体育官方注册网址zium
开云体育官方注册网址Debezium是一个开源的分布式平台,把你现有的数据库事件流,这样应用程序就可以看到,几乎立刻回应每个提交的行级的变化数据库。开云体育电动老虎机开云体育官方注册网址Debezium之上卡夫卡并提供卡夫卡连接兼容的连接器监控特定的数据库管理系统。开云体育电动老虎机开云体育官方注册网址Debezium卡夫卡日志记录的历史数据变化,所以可以在任何时候停止并重新启动您的应用程序,可以很容易地使用它错过了所有的事件而不运行,确保所有事件处理完全正确。开云体育官方注册网址Debezium是开源下Apache许可,2.0版本。
参与
我们希望你发现Debezium有趣开云体育官方注册网址的和有用的,想试一试。在Twitter上关注我们@开云体育官方注册网址debezium,与我们Zulip聊天,或者加入我们的邮件列表跟社区。所有的代码是开源的GitHub上,所以在本地构建代码,帮助我们改进我们现有的连接器和添加更多的连接器。如果你发现问题或有想法如何提高Debezium,请让我们知道开云体育官方注册网址日志一个问题。