企業部署ETL工具的三種方式,應該怎么選?
數十年來,由于可從數據庫提取信息、重新格式化轉換數據,并將數據加載到數據倉庫,ETL一直是企業基礎架構的關鍵組件。隨著云、SaaS和大數據的出現,新數據源和數據流的急劇增加,迫切需要更強大和更復雜的數據集成工具出現。新一代ETL工具可以實時獲取數據,處理數十億交易以及支持任何來源的結構化或非結構化數據(無論是內部部署還是云中);同時,這些工具還具備可擴展性、靈活性、容錯性和安全性,具備傳統內部部署解決方案無法實現的所有功能。
ETL簡史
ETL出現于20世紀70年代,當時大型企業開始聚合和存儲來自多個數據源的信息,這些數據源包括內部工資系統、銷售系統、庫存系統等。自然需要整合這些數據,為開發ETL工具鋪平道路。
數據倉庫在20世紀80年代流行起來,這種類型的數據庫可以集成來自多個來源的數據。 問題在于許多數據倉庫只匹配特定供應商的ETL工具。因此,很多企業經歷了多ETL工具的很長一段過渡期。
隨著時間的推移,數據源、數據類型以及ETL供應商的數量均急劇增加,ETL工具的價格開始逐漸降低,這讓很多中端市場也可以使用ETL工具自行解決問題,幫助公司建立現代化的數據授權的企業。
現代企業部署ETL工具的三種方式
當ETL工具的成本可以被更多企業接受之后,開源ETL工具的發展也開始加速。現代企業部署ETL工具的方式無非有三種:
- 根據自身情況選擇合適的開源ETL工具,整個過程需要更多的功能、靈活性與技術支持。(感興趣的可以查看開源解決方案清單《主流開源ETL工具清單及優劣說明!》)
- 與現有供應商合作,選擇一種能夠很好處理當前多樣數據流和數據源問題的方案,當然,這些供應商一般就是大品牌的廠商,比如IBM、微軟等,成本較高;
- 選擇一些現代的ETL商用工具,這些工具往往是一些新興企業支持的,可能也會有不錯的開源版本。重要的是,這些工具往往是更切合企業在云計算、大數據環境下的需求,這些方案通常是基于云端的,并且可以提供端到端的ETL支持。(感興趣的可以閱讀上一篇文章《現代ETL工具與傳統解決方案清單附對比》,了解可用的工具清單。
開源ETL解決方案的優缺點!
ETL需要從不同的系統中提取數據并將其轉換為符合數據倉庫格式要求的結果,再將其加載到數據倉庫中。
- 提取—提取是從一個或多個來源(在線,實體,傳統數據庫,Salesforce或其他許多來源)檢索數據的過程。檢索數據后,ETL將其加載到一個臨時區域并為下一階段做好準備。
- 轉換—轉換是一個關鍵功能,因為它為數據集成鋪平了道路,就像之前有不同渠道的零售商一樣,轉換可能涉及重新格式化,但有時這一步驟還有其他類型的操作,比如貨幣金額從美元到歐元的轉換計算。
- 加載—成功將傳入數據插入到目標數據庫、數據存儲或數據倉庫中。

開源解決方案可能只足以解決上述三個功能其中之一,但是大部分開源解決方案提供了全部功能。如果企業對自己的技術能力足夠自信,可以考慮開源ETL解決方案,因為現在不少開源解決方案不過是商用方案的功能限制版本,并不是真正社區驅動的項目,即便出現問題也可以聯系到專業的廠商團隊幫忙解決。
對于非關鍵型或小型項目,開源ETL工具是很合適的選擇,成本低且企業可接受非關鍵型任務上的較低出錯率。但是,開源解決方案最大的問題是可能無法解決當今依賴數據決策的企業的復雜動態問題,真正的解決方案不僅需要處理當前存在的大量數據源和數據類型,還需要處理每天都在新增的數據源和數據類型。開源ETL解決方案因為更新不及時很可能讓數據海嘯瞬時壓倒,這一點倒是和不少傳統方案不謀而合。但是,成本和性能從來都是等價的,低成本的選擇需要企業有較大的包容量,并且不少開源方案其實已經有了很多成功案例可參考。
現代ETL工具:更快,上云,易擴展!
傳統的內部部署ETL捆綁了一系列令人頭痛的問題。例如,它們通常是內部構建的,很快就會變得過時或缺乏重要功能;維護費用昂貴且耗時;只支持批處理(而不是實時處理),并且不能很好擴展。
相比之下,現代ETL(如Alooma)工具可以在各種數據源和數據流中捕捉、轉換和存儲數百萬(或數十億)事務的數據。這可以讓數據真正為企業帶來價值,比如分析歷史記錄以優化銷售流程,實時調整價格和庫存,利用ML / AI創建預測模型,開發新的收入流,轉向云端等。
現代ETL工具的主要優點是:
- 不拘泥于格式且靈活,足以快速輕松地集成新的數據源。
- 能夠實時處理海量數據,實現閃電般的速度分析。
- 易于擴展,因為它利用了彈性云。
- 全托管
- 安全
現代ETL工具和開源方案的邊界正在逐漸模糊,成本大多介于開源和傳統之間,但是,這類方案一開始就是奔著日益增長的、基于網絡的大數據流量所創建的,因此對企業在云計算和大數據時代出現的新需求具備極佳的適應能力,但這類解決方案的能力到底如何,我們會在后續的文章中繼續跟進。
結語
傳統商用解決方案:適用關鍵型任務、成本高、服務好、擴展性差,不適合海量復雜數據源的環境。傳統工具最大的限制是被設計成批處理模式,甚至僅有批處理模式,很難整合跨平臺數據源。查找和解決問題過程十分耗時,需要研發人員逐個排查。
開源ETL工具:適用非關鍵型和小型項目,成本低,服務分情況,社區驅動的解決方案服務一般,只能依靠社區力量;企業驅動的解決方案可尋求廠商幫助。對海量數據的應變能力一般,需要企業內部具備一定研發實力。
現代ETL工具:成本介于上述兩者之間,其中含有個別開源方案,適用于海量復雜的數據源環境,擴展性良好。部分方案內置錯誤問題響應、監控及報告流程,部分需要通過簡單編碼實現,后續服務要根據廠商而定,定制化強。