比較維度\產品 |
DataPipeline |
kettle |
Oracle Goldengate |
informatica |
talend |
DataX |
設計及架構 |
適用場景 |
主要用於各類數據融合、數據交換場景,專為超大數據量、高度復雜的數據鏈路設計的靈活、可擴展的數據交換平台 |
面向數據倉庫建模傳統ETL工具 |
主要用於數據備份、容災 |
面向數據倉庫建模傳統ETL工具 |
面向數據倉庫建模傳統ETL工具 |
面向數據倉庫建模傳統ETL工具 |
使用方式 |
全流程圖形化界面,應用端采用B/S架構,Cloud Native為雲而生,所有操作在瀏覽器內就可以完成,不需要額外的開發和生產發布 |
C/S客戶端模式,開發和生產環境需要獨立部署,任務的編寫、調試、修改都在本地,需要發布到生產環境,線上生產環境沒有界面,需要通過日志來調試、debug,效率低,費時費力 |
沒有圖形化的界面,操作皆為命令行方式,可配置能力差 |
C/S客戶端模式,開發和生產環境需要獨立部署,任務的編寫、調試、修改都在本地,需要發布到生產環境;學習成本較高,一般需要受過專業培訓的工程師才能使用; |
C/S客戶端模式,開發和生產環境需要獨立部署,任務的編寫、調試、修改都在本地,需要發布到生產環境; |
DataX是以腳本的方式執行任務的,需要完全吃透源碼才可以調用,學習成本高,沒有圖形開發化界面和監控界面,運維成本相對高。 |
底層架構 |
分布式集群高可用架構,可以水平擴展到多節點支持超大數據量,架構容錯性高,可以自動調節任務在節點之間分配,適用於大數據場景 |
主從結構非高可用,擴展性差,架構容錯性低,不適用大數據場景 |
可做集群部署,規避單點故障,依賴於外部環境,如Oracle RAC等; |
schema mapping非自動;可復制性比較差;更新換代不是很強 |
支持分布式部署 |
支持單機部署和集群部署兩種方式 |
功能 |
CDC機制 |
基於日志、基於時間戳和自增序列等多種方式可選 |
基於時間戳、觸發器等 |
主要是基於日志 |
基於日志、基於時間戳和自增序列等多種方式可選 |
基於觸發器、基於時間戳和自增序列等多種方式可選 |
離線批處理 |
對數據庫的影響 |
基於日志的采集方式對數據庫無侵入性 |
對數據庫表結構有要求,存在一定侵入性 |
源端數據庫需要預留額外的緩存空間 |
基於日志的采集方式對數據庫無侵入性 |
有侵入性 |
通過sql select 采集數據,對數據源沒有侵入性 |
自動斷點續傳 |
支持 |
不支持 |
支持 |
不支持,依賴ETL設計的合理性(例如T-1),指定續讀某個時間點的數據,非自動 |
不支持,依賴ETL設計的合理性(例如T-1),指定續讀某個時間點的數據,非自動 |
不支持 |
監控預警 |
可視化的過程監控,提供多樣化的圖表,輔助運維,故障問題可實時預警 |
依賴日志定位故障問題,往往只能是后處理的方式,缺少過程預警 |
無圖形化的界面預警 |
monitor可以看到報錯信息,信息相對籠統,定位問題仍需依賴分析日志 |
有問題預警,定位問題仍需依賴日志 |
依賴工具日志定位故障問題,沒有圖形化運維界面和預警機制,需要自定義開發。 |
數據清洗 |
圍繞數據質量做輕量清洗 |
圍繞數據倉庫的數據需求進行建模計算,清洗功能相對復雜,需要手動編程 |
輕量清洗 |
支持復雜邏輯的清洗和轉化 |
支持復雜邏輯的清洗和轉化 |
需要根據自身清晰規則編寫清洗腳本,進行調用(DataX3.0 提供的功能)。 |
數據轉換 |
自動化的schema mapping |
手動配置schema mapping |
需手動配置異構數據間的映射 |
手動配置schema mapping |
手動配置schema mapping |
通過編寫json腳本進行schema mapping映射 |
特性 |
數據實時性 |
實時 |
非實時 |
實時 |
支持實時,但是主流應用都是基於時間戳等方式做批量處理,實時同步效率未知 |
實時 |
定時 |
應用難度 |
低 |
高 |
中 |
高 |
中 |
高 |
是否需要開發 |
否 |
是 |
是 |
是 |
是 |
是 |
易用性 |
高 |
低 |
中 |
低 |
低 |
低 |
穩定性 |
高 |
低 |
高 |
中 |
中 |
中 |
其他 |
實施及售后服務 |
原廠實施和售后服務 |
開源軟件,需自客戶自行實施、維護 |
原廠和第三方的實施和售后服務 |
主要為第三方的實施和售后服務 |
分為開源版和企業版,企業版可提供相應服務 |
阿里開源代碼,需要客戶自動實施、開發、維護 |