Debezium实战-前言

我们今天的应用程序很多都依赖于数据库,用于持久保存数据。如:商品数据,订单数据等等。在许多场景中我们都需要把数据库实时产生的数据捕捉出来,传送到其它地方。比如:读写分离(将数据发送到搜索引擎中,象ES来做后期的查询),异地灾备(相当于把本地数据库在其它地方再备份一个,当出现意外情况时可以使用备库),数据迁移(数据库需要转移到另一个相同或不同的数据库中)等等。

在面对这些需求的时候,通常做为系统架构者都非常头疼,如何才能及时、稳定、高效的捕捉到这些变化的数据呢?比较简单的方案就是通过表的时间戳,定时去抽取变化的数据,还可以通过触发器、比对、日志等方法。这些方法都各有优劣,平衡性最好的方法就是基于日志的CDC方案了。可以将增删改,甚至是数据库结构变化都可以捕捉到。但如何基于日志去同步数据呢?

在一些数据库中会有自己的方案和工具,比如Oracle数据库,就有物化视图,Golden Gate等方法来同步数据。但也都有一些局限,象物化视图,采用间隔时间调度的方法,且需要同是Oracle才可以实现。Golden Gate是一种基于日志非常强大的实时同步方法,但其是一个商用产品,且价格不菲。

当然也有一些数据库会有开源的同步方案可以选择。比如Mysql数据库就有Canal,Maxwell等方案来实时同步数据,都是基于日志的。每一种同步中间件都有自己的安装,配置,属性等,有没有一个可以适用所有的数据库的同步平台呢。下面我们就会介绍开源的Debezium捕捉数据库变更的中间件,支持Mysql,Oracle,Sql Server,MongoDB等主流数据库。它由红帽开源组织发起,从github的最早提交看,应该是始于6年前,大概是2015年。我们也是去年才接触它,在应用过程中记录了一些使用心得,通过这次的实战文章分享给大家。

本栏内容多出自Debezium官网文档,部份内容转译的不一定准确,还请大家多包涵。也会介绍我们自己的使用过程,及如何开发更便利的操作界面等。后续还打算录制一些教学视频,让更多的人能了解到这款软件的优秀,能用它解决自己面临的问题,最后感谢大家给予的支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onemy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值