開源異構數據庫同步工具收集


 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM