暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL与异构数据库之间变更同步

my数据库 2021-07-13
445

MySQL有变更的数据分发到其他异构数据库,都有什么可选方案

一、触发器方式(不推荐)

1、触发器处理的方式,在表上建立触发器,将增删改动作捕捉到增量表

二、基于时间戳

1、表上如果有更新时间/插入时间的时间戳,可以根据时间戳捕捉增量数据

三、基于binlog方式(推荐)

MySQL目前比较好也是目前业务用的比较多的增量方案都是基于binlog实现

1、在MySQL提交的DML操作正常情况都会记录到binlog(也是主从复制的基础),首先上游通过解析binlog获取到增量日志

2、将解析到的更新事件存入消息队列,如kafka/MQ等

3、根据下游数据库种类,分别用不同的消费组件进行队列消费,拼接成SQL进行数据更新

四、业界典型的方案

4.1开源方案

1、阿里巴巴开源组件canal+kafka+自写消费组件

2、阿里巴巴开源组件otter(支持MySQL到MySQL的数据同步)

2、阿里巴巴开源迁移工具yugong(支持Oracle->Oracle/Oracle->MySQL的全量/增量迁移)

3、linkedin开源组件databus

4、美团点评开源组件puma

4.2商业方案

1、各云厂商提供的DTS方案
文章转载自my数据库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论