1 、簡介
DataPipeline :隸屬於北京數見 科技 有限公司,是壹家企業級批流壹體數據融合服務商和解決方案提供商,國內實時數據管道技術的倡導者。
通過平臺和技術為企業客戶解決數據準備過程中的各種痛點,幫助客戶更敏捷、更高效、更簡單地實現復雜異構數據源到目的地的實時數據融合和數據管理等綜合服務。
從而打破傳統 ETL 給客戶靈活數據應用帶來的束縛,讓數據準備過程不再成為數據消費的瓶頸。
Kettle:是壹款國外開源的ETL工具,純java編寫,可以在Windows、Linux、Unix上運行,數據抽取高效穩定。Kettle 中文名稱叫水壺,該項目的主程序員MATT 希望把各種數據放到壹個壺裏,然後以壹種指定的格式流出。
Informatica:是全球領先的數據管理軟件提供商。
在如下Gartner魔力象限位於領導者地位:數據集成工具魔力象限、數據質量工具魔力象限、元數據管理解決方案魔力象限、主數據管理解決方案魔力象限、企業級集成平臺即服務(EiPaaS)魔力象限。
Talend :是數據集成解決方案領域的領袖企業,為公***雲和私有雲以及本地環境提供壹體化的數據集成平臺。Talend的使命是致力於幫助客戶優化數據,提高數據可靠性,把企業數據更快地轉化為商業價值。
以此為使命,Talend的解決方案將數據從傳統基礎架構中解放出來,提高客戶在業務中的洞察力,讓客戶更早實現業務價值。
DataX :是阿裏巴巴集團內被廣泛使用的離線數據同步工具 / 平臺,實現包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各種異構數據源之間高效的數據同步功能。開源地址:/alibaba/DataX
2 、成本
軟件成本包括多方面,主要包括軟件產品, 售前培訓, 售後咨詢, 技術支持等。
開源產品本身是免費的,成本主要是培訓和 咨詢,所以成本會壹直維持在壹個較低水平。
商業產品本身價格很高,但是壹般會提供幾次免費的咨詢或支持,所以采用商用軟件最初成本很高,但是逐漸下降。
手工編碼最初成本不高,主要是人力成本,但後期維護的工作量會越來越大。
3、適用場景
DataPipeline: 主要用於各類數據融合、數據交換場景,專為超大數據量、高度復雜的數據鏈路設計的靈活、可擴展的數據交換平臺;
Kettle: 面向數據倉庫建模傳統ETL工具;
Informatica: 面向數據倉庫建模傳統ETL工具;
Talend:面向數據倉庫建模傳統ETL工具;
DataX :面向數據倉庫建模傳統ETL工具
4、使用方式
DataPipeline: 全流程圖形化界面,應用端采用B/S架構,Cloud Native為雲而生,所有操作在瀏覽器內就可以完成,不需要額外的開發和生產發布;
Kettle: C/S客戶端模式,開發和生產環境需要獨立部署,任務的編寫、調試、修改都在本地,需要發布到生產環境,線上生產環境沒有界面,需要通過日誌來調試、 debug,效率低,費時費力;
Informatica: C/S客戶端模式,開發和生產環境需要獨立部署,任務的編寫、調試、修改都在本地,需要發布到生產環境;學習成本較高,壹般需要受過專業培訓的工程師才能使用;
Talend:C/S客戶端模式,開發和生產環境需要獨立部署,任務的編寫、調試、修改都在本地,需要發布到生產環境;
DataX :DataX是以腳本的方式執行任務的,需要完全吃透源碼才可以調用,學習成本高,沒有圖形開發化界面和監控界面,運維成本相對高
5、底層架構
DataPipeline: 分布式集群高可用架構,可以水平擴展到多節點支持超大數據量,架構容錯性高,可以自動調節任務在節點之間分配,適用於大數據場景;
Kettle:主從結構非高可用,擴展性差,架構容錯性低,不適用大數據場景;
Informatica: schema mapping非自動;可復制性比較差;更新換代不是很強,支持分布式部署;
Talend:支持分布式部署;
DataX :支持單機部署和集群部署兩種方式
6、CDC機制
DataPipeline: 基於日誌、基於時間戳和自增序列等多種方式可選;
Kettle:基於時間戳、觸發器等;
Informatica: 基於日誌、基於時間戳和自增序列等多種方式可選;
Talend:基於觸發器、基於時間戳和自增序列等多種方式可選;
DataX :離線批處理
7、對數據庫的影響
DataPipeline: 基於日誌的采集方式對數據庫無侵入性;
Kettle:對數據庫表結構有要求,存在壹定侵入性;
Informatica: 基於日誌的采集方式對數據庫無侵入性;
Talend:有侵入性;
DataX :通過sql select 采集數據,對數據源沒有侵入性
8、自動斷點續傳
DataPipeline:支持;
Kettle:不支持;
Informatica:不支持;
Talend:不支持;
DataX :不支持
9、監控預警
DataPipeline:可視化的過程監控,提供多樣化的圖表,輔助運維,故障問題可實時預警;
Kettle:依賴日誌定位故障問題,往往只能是後處理的方式,缺少過程預警;
Informatica:monitor可以看到報錯信息,信息相對籠統,定位問題仍需依賴分析日誌;
Talend:有問題預警,定位問題仍需依賴日誌;
DataX :依賴工具日誌定位故障問題,沒有圖形化運維界面和預警機制,需要自定義開發
10、數據清洗
DataPipeline:圍繞數據質量做輕量清洗;
Kettle:圍繞數據倉庫的數據需求進行建模計算,清洗功能相對復雜,需要手動編程;
Informatica:支持復雜邏輯的清洗和轉化;
Talend:支持復雜邏輯的清洗和轉化;
DataX :需要根據自身清晰規則編寫清洗腳本,進行調用(DataX3.0 提供的功能)
11、數據轉換
DataPipeline:自動化的schema mapping;
Kettle:手動配置schema mapping;
Informatica:手動配置schema mapping;
Talend:手動配置schema mapping;
DataX :通過編寫json腳本進行schema mapping映射
12、易用性、應用難度、是否需要開發
DataPipeline: 有非常容易使用的 GUI,具有豐富的可視化監控,易用性低,難度低,不需要開發;
Kettle: GUI+Coding,易用性低,難度高,需要開發;
Informatica: GUI+Coding,有GUI,但是要專門的訓練,易用性低,難度高,需要開發;
Talend:GUI+Coding,有 GUI 圖形界面但是以 Eclipse 的插件方式提供,易用性低,難度中,需要開發;
DataX:需要完全吃透源碼才可以調用,學習成本高,沒有圖形開發化界面和監控界面,易用性低,難度高,需要開發
13、技能要求
DataPipeline:操作簡單,無技術要求;
Kettle: ETL設計, SQL, 數據建模 ;
Informatica: ETL設計, SQL, 數據建模;
Talend:需要寫Java;
DataX:需要寫json腳本
14、數據實時性
DataPipeline:支持異構數據源的實時同步,速度非常快;
Kettle:不支持實時數據同步;
Informatica:支持實時,效率較低;
Talend:支持實時處理,需要購買高級版本,價格貴;
DataX :支持實時
15、技術支持
DataPipeline:本地化原廠技術支持;
Kettle:開源軟件,需客戶自行實施、維護;
Informatica:在美國,主要為第三方的實施和售後服務;
Talend:在美國,分為開源版和企業版,企業版可提供相應服務;
DataX:阿裏開源代碼,需要客戶自動實施、開發、維護
文章為自己學習整理後的成果,如有錯誤的地方,歡迎提出已作出及時修正。