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