异构数据库结构与数据同步工具dbswitch

一、背景

      开源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:Issues · aliyun/rds_dbsync · GitHub

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

二、dbswitch工具

    结合kettle的表结构同步功能及二进制copy格式的封装,dbswitch提供常见的oracle/SqlServer/mysql/PostgreSQL向Greenplum数据库的表结构及数据同步功能。功能点如下:

  • 表(视图)结构向GP转换及在GP中自动建表(含主键迁移);
  • 表数据抽取至GP数据库中;
  • 支持同一schema下的多张表同步;
  • 支持增量变更(变化量)数据同步;
  • 支持整型、浮点型、时间类型、文本类型、二进制类型等多种数据类型的数据同步;
  • 支持每秒万级别的(常规)数据迁移速度;
  • 提供RESTfull的表结构转换服务接口;

  项目地址:dbswitch: 异构数据库迁移同步工具

三、附录

网上Greenplum的多节点安装部署比较麻烦,本人编写了一个多节点Greenplum一键安装包,如果需要可参考:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值