作者 | 郭煒
導讀:最新發布的《技術成熟度曲線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等,是國內開源社群領軍人物。
本文由 白鯨開源 提供釋出支援!