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


    想把MySQL有变更的数据分发到其他异构数据库,都有什么可选方案。
    
    
    一、触发器方式(不推荐)
    1、触发器处理的方式,在表上建立触发器,将增删改动作捕捉到增量表。
    
    
    二、基于时间戳
    1、表上如果有更新时间/插入时间的时间戳,可以根据时间戳捕捉增量数据。
    
    
    三、基于binlog方式(推荐)
    MySQL目前比较好也是目前业务用的比较多的增量方案都是基于binlog实现。
    1、在MySQL提交的DML操作正常情况都会记录到binlog(也是主从复制的基础),首先上游通过解析binlog获取到增量日志。
    2、将解析到的更新事件存入消息队列,如kafka/MQ等。
    3、根据下游数据库种类,分别用不同的消费组件进行队列消费,拼接成SQL进行数据更新。
    
    
    四、业界典型的方案
    开源方案
        1、阿里巴巴开源组件canal+kafka+自写消费组件
        2、阿里巴巴开源组件otter(支持MySQL到MySQL的数据同步)
        2、阿里巴巴开源迁移工具yugong(支持Oracle->Oracle/Oracle->MySQL的全量/增量迁移)
        3、linkedin开源组件databus
        4、美团点评开源组件puma
    商业方案
        1、各云厂商提供的DTS方案
  • 相关阅读:
    swift4.2
    swift4.2 打印devicetoken
    swift4.2
    (二十三)Dbutils 工具介绍
    (二十二)自定义简化版JDBC(Dbutils框架的设计思想)
    (二十一)配置三种开源数据库连接池
    (二十)自定义数据库连接池
    (十九)事务
    (十八)JDBC获取存储过程和主键
    (十七)使用JDBC进行批处理
  • 原文地址:https://www.cnblogs.com/zhouwanchun/p/13141820.html
Copyright © 2020-2023  润新知