数据同步方案

文章目录

  • 同步概念
  • 一、Mysql 设置 主从数据库同步
  • 二、开源项目选择
    • 2.1 Canal + Kafka
    • 2.2 Canal + Otter
    • 2.3 DataX
  • 三、软件选择
    • 3.1 Kettle
    • 3.2 TreeSoft

同步概念

同步分为:实时同步和离线同步
实时同步,一般是通过监控源数据变更操作,通过在目标端实时重放操作,从而达到实时同步的目的
离线同步,相当于某个时候对源数据做一个快照。

一、Mysql 设置 主从数据库同步

MySQL自带功能
一般针对的是整个数据库
参考:
https://blog.csdn.net/TAB_YLS/article/details/80031491
https://blog.csdn.net/w6611415/article/details/51556771

主主同步
http://git.malu.me/MySQL%E7%BA%BF%E4%B8%8A%E4%B8%8E%E6%9C%AC%E5%9C%B0%E5%AE%9E%E6%97%B6%E5%90%8C%E6%AD%A5/

二、开源项目选择

2.1 Canal + Kafka

同步类型:实时同步
简介:Kafka是消息中间件的一种
开发商:Apache
开源:https://github.com/apache/kafka
优点:高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。
缺点:配置复杂点,消息可能重复,低概率丢数据

参考:
https://www.orchome.com/kafka/index

2.2 Canal + Otter

同步类型:实时同步
简介:基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL
开发商:阿里
开源:
https://github.com/alibaba/canal
https://github.com/alibaba/otter

优点:canal + otter 非常适合mysql库之间的同步。有可视化界面
缺点:配置复杂点

参考:
https://cloud.tencent.com/developer/article/1188291
demo
https://www.jianshu.com/p/d955d9d73241

2.3 DataX

同步类型:离线同步
简介:DataX在阿里巴巴集团内被广泛使用,承担了所有大数据的离线同步业务,并已持续稳定运行了6年之久。目前每天完成同步8w多道作业,每日传输数据量超过300TB
开发商:阿里
开源:https://github.com/alibaba/DataX
优点:配置简单,使用成本小
缺点:不能实时同步,不支持增量更新

参考:
增量更新:https://www.cnblogs.com/tianyafu/p/10018042.html

三、软件选择

3.1 Kettle

同步类型:实时同步
开源:http://kettle.pentaho.com/
优点:图形化界面
缺点:速度慢 3k-2w条/秒

3.2 TreeSoft

http://www.treesoft.cn/product.html
指定数据库同步,定时同步等任务

你可能感兴趣的:(#,Spring)