关系型数据库增量数据同步调研

业务需求:
需要将Mysql,sqlServer两种数据库的增量数据进行同步。

调研工具
主要调研Flume、Sqoop、Canal三种数据同步工具。

工具的优缺点

  1. Flume
    优点:○1利用Flume采集关系数据库表数据最大的优点是配置简单,不用编程;
    ○2再有该方案采用普通SQL轮询的方式实现,具有通用性,适用于所有关系库数据源。
    缺点:○1在源库上执行了查询,具有入侵性;
    ○2通过轮询的方式实现增量,只能做到准实时,而且轮询间隔越短,对源库的影响越大;
    ○3只能识别新增数据,检测不到删除与更新;
    ○4要求源库必须有用于表示增量的字段。
  2. Sqoop
    优点:sqoop可以全量,增量同步关系型数据库,具有通用性;
    缺点:○1由于底层采用MapReduce程序,缺乏实时性,只能实现定时同步增量数据;
    ○2需要连接数据库读取增量数据,耗费一定的数据库资源。
  3. Canal
    优点:canal可以解析mysql的binlog日志进行同步数据,可以做到实时性,影响数据库性能较小。
    缺点:目前仅支持mysql数据库。

结论
从实时性、同步效率、操作简单性、数据库性能损耗来综合考虑,得出以下结论:
1.同步mysql的增量数据建议采用Canal;
2.同步sqlserver的增量数据建议先进行主从复制,然后使用sqoop进行从表的定时增量同步。

猜你喜欢

转载自blog.csdn.net/xiaoxie920226/article/details/88576704