作者 | 郭煒 導讀:最新發佈的《技術成熟度曲線2024》全面評估數據集成技術架構的7個維度,包括技術成熟度、技術難度、業務價值、技術成熟周期、管理協作難度、大模型結合等評估維度,報告篇幅較長,我們將報告分為3篇系列文章,本文為報告第一篇,描述了 「從ETL 到ELT,到 EtLT的趨勢」。接下來系 ...
作者 | 郭煒
導讀:最新發佈的《技術成熟度曲線2024》全面評估數據集成技術架構的7個維度,包括技術成熟度、技術難度、業務價值、技術成熟周期、管理協作難度、大模型結合等評估維度,報告篇幅較長,我們將報告分為3篇系列文章,本文為報告第一篇,描述了 「從ETL 到ELT,到 EtLT的趨勢」。接下來系列文章將於近期陸續發佈,敬請期待!
提到數據集成,業內同仁覺得這有什麼可講的,不就是ETL麽?也就是從各種資料庫讀取,然後轉化,最後落到不同數據倉庫里。其實隨著大數據,數據湖,實時數據倉庫和大模型的興起,數據集成的架構已經從過去的數據倉庫時代的ETL到大數據時代的ELT到現階段的EtLT。全球科技領域里,也誕生了像FiveTran,Airbyte,Matllion的新興EtLT企業,更有IBM23億美元鯨吞這個領域的StreamSet和 webMethods來完成自身產品線從ETL到EtLT(DataOps)的升級。
所以,無論你是企業中的管理者或者是專業領域數據從業者都不得不重新審視數據集成在最近的時代里的變化和未來的趨勢。
從ETL 到ELT,到 EtLT的趨勢
ETL架構
大多數數據領域的專家,都熟悉ETL這個詞,在當年數據倉庫盛行時,IBM DataStage,Informatica,Talend,Kettle為代表的的ETL工具紅極一時,現在還有不少公司依然在使用上述工具負責從不同資料庫當中獲取數據,進行轉化,在進入統一的數據存儲做報表展示和數據分析,這樣的架構優劣如下:
- ETL架構優勢:
- 數據一致性和質量:ETL架構通過數據轉換和清洗過程確保數據的一致性和質量。它可以處理來自不同源的數據,將其標準化並轉換為企業所需的格式。
- 複雜數據源整合:ETL架構可以整合多種複雜的數據源,包括關係型資料庫、非關係型資料庫、文件系統等,使得數據集成變得可能。
- 技術架構清晰:ETL架構具有明確的步驟和流程,易於理解和實施。它將數據的提取、轉換和載入分開處理,使得每個階段都可以獨立優化。
- 業務規則實現:通過ETL過程,可以嵌入業務規則和邏輯,確保數據轉換符合企業的業務需求。
- ETL架構劣勢:
- 實時性不足:傳統的ETL架構通常是基於批處理的,這意味著數據的處理和分析存在延遲,不適合實時數據處理和分析需求,無法滿足實時數據要求。
- 硬體成本高:ETL過程可能需要大量的硬體資源,尤其是在數據量大的情況下,可能會導致硬體投資成本增加,幾乎和數據倉庫處理數據量線性增長。
- 靈活性不足:ETL作業一旦定義,修改和調整可能比較困難。對於快速變化的業務需求,ETL架構可能不夠靈活。
- 技術通用性:儘管ETL流程清晰,但實現複雜的數據轉換和集成可能需要專業的數據工程師和大量的技術知識,往往升級平臺非常困難,因為大量業務邏輯都偶爾在拖拽的組件當中,而這些組件是不通用的,也很難讀懂。
- 維護成本:隨著數據源和業務邏輯的增加,ETL作業的維護和擴展可能會變得複雜和昂貴,
- 對非結構化數據處理能力有限:ETL架構在處理非結構化數據時處理非常複雜,需要用UDF或者單獨變成可以實現完整功能。
ELT架構
在大數據時代來臨時後, 面對ETL的數據倉庫無法載入複雜數據源,實時性比較差的問題,曾經有一個ETL的變種架構被各種公司方法採用,ELT架構,典型就是各個數據倉庫廠商自帶的工具,例如,當年數據倉庫最大廠商Teradata的BETQ/Fastload/TPT、Hadoop Hive 體系的Apache Sqoop,阿裡推出的DataX架構都是ELT架構。它們的特點就是,將數據通過各種工具,幾乎不做join,group等複雜轉化,只做標準化(Normolization)直接抽取到數據倉庫里數據準備層(Staging Layer),再在數據倉庫中通過SQL、H-SQL,從數據準備層到數據原子層(DWD Layer or SOR Layer);後期再將原子層數據進入彙總層(DWS Layey or SMA Layer),最終到指標層(ADS Layer or IDX Layer)。ELT架構的優劣如下:
- ELT架構優勢:
- 處理大數據量:ELT架構允許數據首先被載入到大數據平臺和數據倉庫(如Teradata, Hadoop或雲存儲解決方案)中,這些平臺能夠高效地處理和存儲大量數據,由於不做Transform,也讓這類ELT工具性能遠高於ETL工具。
- 開發與運維效率提高:ELT架構把複雜的業務邏輯放到數據倉庫當中,只做貼源層的映射,因此學習和運維門檻很低,可以讓數據工程師完成貼源層映射,數據應用工程師直接利用SQL在數據倉庫當中進行開發,開發效率、人員交接、工具替換都變得更簡單。
- 成本效益:通過將數據直接載入到數據倉庫中,可以減少傳統ETL過程中所需的中間數據存儲和轉換步驟,從而降低了硬體和軟體的成本,開發和排查錯誤效率也高很多。
- 靈活性和擴展性:數據倉庫提供了一個靈活的環境,可以存儲原始數據,直到需要時再進行轉換。這種方法支持多種數據類型和格式,便於擴展以適應新的數據源和分析需求。
- 易於集成新技術:隨著大數據技術的快速發展,ELT架構可以更容易地後續集成新的數據處理工具和引擎,如Apache Spark和雲上的EMR處理。
- ELT架構劣勢:
- 實時性支持不足:ELT架構還是針對批量數據處理,無法支持CDC、數據流等實時場景,因此在新一代數據湖、實時數據倉庫生態中,ELT架構在逐步被新架構取代。
- 數據存儲成本高:ELT通常將數據載入到數據湖或數據倉庫等存儲系統中,然後再進行轉換和處理。這意味著需要更多的存儲空間來存儲原始數據,而且數據量越大,存儲成本就越高。
- 數據質量問題:將原始數據直接載入到目標存儲系統後再進行轉換處理可能會導致數據質量問題被忽略或延後處理。如果源數據存在問題,這些問題可能會被傳播到目標系統中,影響後續的數據分析和決策。因為沒有任何T的環節,所以在類型轉化,臟數據過濾等方面都存在缺陷。
- 依賴目標系統的能力:ELT架構依賴於目標存儲系統的處理能力來進行數據轉換和處理,因此對目標系統的性能、穩定性和擴展性有較高的要求。如果目標系統無法滿足這些要求,可能會影響整個數據處理流程的效率和可靠性。
EtLT架構
隨著數據湖和實時數據倉庫的流行,ELT架構的實時性和非結構化數據處理能力的弱點被放大,於是全球出現了新的架構,EtLT架構。這是在E(xtract)數據源部分增加了實時獲取SaaS, Binlog, 雲組件的部分;處理部分增加了小t(ransform),這是針對非業務邏輯的數據處理部分(例如類型轉化,臟數據過濾,數據欄位映射等),後續和ELT部分類似的架構。這在全球範圍里有多家在這方面的專業公司,例如被IBM收購的SteamSets,被Qlik收購的Attunity,美國Snowflake的深度合作伙伴Fivetran,Apache 基金會針對流處理引擎FlinkCDC,Apache基金會批流一體同步工具SeaTunnel,以及白鯨開源針對SeaTunnel的商業版WhaleTunnel(http://www.whaleops.com/marketing.html)。 這些廠商都在新一代數據湖、實時數據和新興數據源支持卓有成效。而EtLT架構優劣如下:
- EtLT架構優勢:
- 實時數據處理:EtLT架構支持實時數據抽取和轉換,使得數據可以從消息組件、Binlog或者數據底層通過CDC模式及進行獲取,可以快速地被處理和分析,滿足實時業務智能的需求。
- 支持複雜數據源:EtLT架構能夠有效地處理來自雲、SaaS、本地等混合複雜數據源,適應現代數據架構的多樣性,例如FiveTran支持500+種數據源,而WhaleTunnel支持200+種數據源。
- 降低成本:EtLT架構通過減少數據的重覆存儲和不必要的數據轉換,可以整體降低存儲和計算成本;同時在t(ransform)組件中,大量採用了SQL-Like的腳本和可視化來面對數據變換,從而讓人員上手難度大幅較低,人員成本也大幅降低。
- 靈活性和可擴展性:EtLT架構允許數據在載入到數據湖或數據倉庫之前進行初步轉換,然後在需要時進行更深入的分析和二次轉換,這提供了更高的靈活性和可擴展性,提高整體數據質量。
- 優化性能:通過在數據載入後進行二次轉換,EtLT架構可以優化查詢性能和數據處理速度,尤其是在處理複雜查詢和實時數據分析時。
- 大模型支持:因為實時性的增強以及多種複雜數據源的支持,使得EtLT架構在大模型環境下有更多的延展性,曾經有開發者利用SeaTunnel結合ChatGPT將整個圖書館數據語義化《圖書搜索領域重大突破!》,未來大模型普及的情況下,數據供給是EtLT架構的一大優勢。
- 數據質量和治理:EtLT架構允許在數據載入之前進行初步清洗和轉換,有助於提高數據質量,併在數據存儲後進行進一步的數據治理。
- EtLT架構劣勢:
- 技術複雜性:EtLT架構相對於傳統的ETL和ELT架構更為複雜,需要更多的技術知識和專業技能來設計數據獲取、小轉化和載入部分。
- 依賴目標系統的處理能力:EtLT架構依賴於目標系統的處理能力來進行第二次轉換處理,因此對目標系統的性能和穩定性有較高的要求。特別是在實時計算場景下,如果目標系統無法滿足這些要求,可能會影響整個數據處理流程的效率和可靠性。
- 管理和監控挑戰:EtLT架構的多階段處理可能需要更複雜的管理和監控工具,以確保數據流程的穩定性和可靠性,
- 數據變更管理複雜性提高:由於EtLT架構中數據轉換的分離,源系統變化時,為了確保整體數據實時性,可能需要對多個階段進行DDL變更自動或人工的調整,增加了數據變更管理的複雜性。
- 對工具和平臺的依賴:EtLT架構的實施通常依賴於先進的數據處理工具和平臺,如Apache SeaTunnel、Apache Spark、Apache Flink等,這可能需要額外的投資和集成工作。
整體上,數據集成的架構在近幾年隨著數據、實時數據倉庫、大模型的興起,EtLT架構在全球範圍逐步成為主流,具體歷史更迭細節可以參考在筆者《ELT已死,EtLT才是現代數據處理架構的終點!》中的相關內容。在整體這樣一個大趨勢下,我們來解讀整個數據集成賽道的成熟度模型,整體看可以看到4點明顯趨勢:
- 在ETL變為EtLT趨勢當中,數據集成的熱點已經從傳統的批量進入到實時數據採集和批流一體的數據集成,熱度最高的場景也從過去單一資料庫批量集成場景,現在也變為混合雲、SaaS多種數據源下批流一體的數據集成;
- 數據複雜轉換,從過去ETL工具中變換逐步為在數據倉庫中處理複雜Transform,同時,針對實時數據集成時DDL(欄位定義)變化的情況也開始支持不暫停支持欄位自動變更(Schema Evolution),甚至在輕量級轉化中適配DDL變更也成為一種趨勢。
- 數據源類型支持,從文件、傳統資料庫已經開始向信創數據源、開源大數據體系、非結構化數據體系、雲資料庫、大模型支持方向,這些也是未來每個企業當中遇到的最多的場景,未來企業內實時數倉、湖、雲、大模型都會在不同場景里使用。
- 核心能力和性能部分,數據源多樣性、準確率高、容易排錯成為大多數企業使用的優先選擇,反而大吞吐、實時性高這些能力考察點並不多。
針對數據虛擬化、DataFabric、ZeroETL報告中也有提到,具體可以看下麵的數據集成成熟度模型解讀。
專家介紹:
郭煒先生畢業於北京大學,現任中國通信學會開源技術委員會委員,中國軟體行業協會智能應用服務分會副主任委員,全球中小企業創業聯合會副會長,TGO鯤鵬會北京分會會長,ApacheCon Asia DataOps論壇主席,波蘭DataOps峰會、北美Big Data Day演講嘉賓,虎嘯十年 傑出數字技術人物,中國開源社區最佳33人,中國2021年開源傑出人物。郭煒先生曾任易觀CTO,聯想研究院大數據總監,萬達電商數據部總經理,先後在中金、IBM、Teradata任大數據方重要職位,對大數據前沿研究做出卓越貢獻。同時郭先生參與多個技術社區工作,Presto, Alluxio,Hbase等,是國內開源社區領軍人物。
本文由 白鯨開源 提供發佈支持!