• 开源异构数据库同步工具收集


     SymmetricDS 太麻烦,而且是每张表都要配置触发器,性能影响太大了。

    其他类型数据库到GP:

    转自:https://blog.csdn.net/inrgihc/article/details/103739629

    一、背景
          开源MPP数据库Greenplum是一种基于PostgreSQL的分布式数据库,其采用shared-nothing架构,其架构专门用于管理大规模分析数据仓库,Greenplum主要定位在OLAP领域,利用Greenplum MPP数据库做大数据计算或分析平台非常适合,典型的就是数据仓库系统。

         虽然Greenplum支持JDBC 、libpg、copy、gpfdist等多种方式加载数据。但是通常的业务系统中的数据存储往往是MySQL、Oracle、SQLServer、PostegreSQL等数据库。要想把这些数据库中的数据导入至Greenplum数据库中,需要借助一定的(离线同步)工具,典型的工具包括:

        (1)利用kettle+gpload工具

            优点:工具开源且现成,导入速度快,kettle支持表结构同步和表数据同步;

            缺点:gpload配置过于复杂,kettle功能多,学习成本高,每张表都需要单独配置,不适用于大批量表的操作;

       (2)使用Greenplum工具gpfdist或外部表方式

          优点:导入速度快

          缺点:需要先将MySQL、Oracle、SQLServer、PostegreSQL等数据库内的数据导出为文本文件,同样不适用于大批量表的操作;

        (3)datax工具

          优点:工具现成,支持插件扩展;

          缺点:不支持表结构同步,需要人工参与目的端表的创建;

         地址:https://github.com/alibaba/DataX

       (4)dbsync 工具

         优点:支持表结构与数据的同步;

         缺点:同步千万级数据量时会OOM、对于含有大小写的表名或字段名进行DDL转换存在问题、只支持MySQL/PostgreSQL到Greenplum/PostgreSQL的表结构与数据同步同步等等,其他问题请参考issue:https://github.com/aliyun/rds_dbsync/issues

         地址:https://github.com/aliyun/rds_dbsync

    二、dbswitch工具
        结合kettle的表结构同步功能及网上高僧基于copy方式改良的datax,dbswitch提供常见的oracle/SqlServer/mysql/PostgreSQL向Greenplum数据库的表结构及数据同步功能。功能点如下:

    表(视图)结构向GP转换及在GP中自动建表;
    表数据抽取至GP数据库中;
    支持同一schema下的多张表同步;
    提供RESTfull的表结构转换服务接口;
      项目地址:https://gitee.com/inrgihc/dbswitch

    工具缺点:

    不支持二进制字段数据的数据抽取同步;
    当前为单线程处理,并发同步有待提高;
    对于GP建表时未考虑分布式键问题

    另外一个:

    https://www.cnblogs.com/lolo-garden/p/12061055.html

    需求:

    异构数据库oracle到PG同步,后续可能到hadoop等大数据平台。

    工具以及对比:

    工具

    支持异构

    数据方向

    开源

    GUI

    kettle

    多种(大数据和RDBMS)->多种

    DataX

    多种->多种

    ×

    Sqoop

    大数据->RDBMS,

    RDBMS->大数据

    ×

    Streamsets

    多种->多种

    Informatica

    多种->多种

    ×

    Talend

    多种->多种

    DataPipeline

    多种->多种

    ×

    datastage

    多种->多种

    ×

    ODI

    多种->多种

    ×

    Apatar

    多种->多种

    DataX:

    1.使用在hadoop时,如果文件过大,作为源端数据导入目标数据库时会有数据缺失;

    2.datax往gp中写数最好使用gp的writer方式,否则会很慢。

    Kettle:

    性能较DataX等较差。

    Datastage和Informatica商业,功能完备,市场占有率高。

    ODI:oracle耦合度高。

    Sqoop和Streamsets更适用于大数据相关的数据源。

    Talend:开源版没有调度程序,且后续的维护运维成本高,建议商业版。按照用户数收费,开发用户多不合算。

    结论:

    开源采用DataX,或者(大数据场景时)Sqoop和Streamsets,

    商用Talend,Datastage,Informatica。

    再来一个总结的:

    https://www.cnblogs.com/laoqing/p/11359224.html

  • 相关阅读:
    程序性能优化之布局检测与优化(二)下篇
    程序性能优化之布局检测与优化(二)上篇
    程序性能优化之启动速度与执行效率优化(一)下篇
    程序性能优化之启动速度与执行效率优化(一)上篇
    【前端图表】echarts散点图鼠标划过散点显示信息
    【干货】前端开发者最常用的六款IDE
    全网最全的小程序学习资料和文章,看这篇就够了
    Jquery+Ajax+Bootstrap Paginator实现分页的拼接
    推荐一款在线工具-程序员的工具箱
    推荐一款稳定快速免费的前端开源项目 CDN 加速服务
  • 原文地址:https://www.cnblogs.com/kuang17/p/12228787.html
Copyright © 2020-2023  润新知