2024-2030數據集成成熟度曲線(一)

来源:https://www.cnblogs.com/seatunnel/p/18206427
-Advertisement-
Play Games

作者 | 郭煒 導讀:最新發佈的《技術成熟度曲線2024》全面評估數據集成技術架構的7個維度,包括技術成熟度、技術難度、業務價值、技術成熟周期、管理協作難度、大模型結合等評估維度,報告篇幅較長,我們將報告分為3篇系列文章,本文為報告第一篇,描述了 「從ETL 到ELT,到 EtLT的趨勢」。接下來系 ...


file

作者 | 郭煒

導讀:最新發佈的《技術成熟度曲線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點明顯趨勢:

  1. 在ETL變為EtLT趨勢當中,數據集成的熱點已經從傳統的批量進入到實時數據採集和批流一體的數據集成,熱度最高的場景也從過去單一資料庫批量集成場景,現在也變為混合雲、SaaS多種數據源下批流一體的數據集成;
  2. 數據複雜轉換,從過去ETL工具中變換逐步為在數據倉庫中處理複雜Transform,同時,針對實時數據集成時DDL(欄位定義)變化的情況也開始支持不暫停支持欄位自動變更(Schema Evolution),甚至在輕量級轉化中適配DDL變更也成為一種趨勢。
  3. 數據源類型支持,從文件、傳統資料庫已經開始向信創數據源、開源大數據體系、非結構化數據體系、雲資料庫、大模型支持方向,這些也是未來每個企業當中遇到的最多的場景,未來企業內實時數倉、湖、雲、大模型都會在不同場景里使用。
  4. 核心能力和性能部分,數據源多樣性、準確率高、容易排錯成為大多數企業使用的優先選擇,反而大吞吐、實時性高這些能力考察點並不多。

針對數據虛擬化、DataFabric、ZeroETL報告中也有提到,具體可以看下麵的數據集成成熟度模型解讀。

專家介紹:

郭煒先生畢業於北京大學,現任中國通信學會開源技術委員會委員,中國軟體行業協會智能應用服務分會副主任委員,全球中小企業創業聯合會副會長,TGO鯤鵬會北京分會會長,ApacheCon Asia DataOps論壇主席,波蘭DataOps峰會、北美Big Data Day演講嘉賓,虎嘯十年 傑出數字技術人物,中國開源社區最佳33人,中國2021年開源傑出人物。郭煒先生曾任易觀CTO,聯想研究院大數據總監,萬達電商數據部總經理,先後在中金、IBM、Teradata任大數據方重要職位,對大數據前沿研究做出卓越貢獻。同時郭先生參與多個技術社區工作,Presto, Alluxio,Hbase等,是國內開源社區領軍人物。

本文由 白鯨開源 提供發佈支持!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、邏輯地址和物理地址 1.1 含義:邏輯地址和物理地址是電腦記憶體管理中的兩個核心概念,它們在電腦系統中扮演著不同的角色。 邏輯地址(Logical Address),也稱為虛擬地址(Virtual Address),是由操作系統提供給程式使用的地址。這些地址是在程式中使用的,但並不是實際存在的 ...
  • 文章參考:https://gitee.com/socbis/linux-lvgl lvgl on linux Frame buffer 主機環境: Ubuntu 18.04 lvgl 8.0.1 獲取源碼並運行demo 獲取源碼 需要3樣東西來構建demo : lvgl核心控制項庫: 從此處獲取源碼 ...
  • 大家好,我是 Java陳序員。 今天,給大家分享下在 Linux 環境中如何安裝卸載 MySQL. 關註微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典電腦電子書籍等。 MySQL 安裝 準備一臺 Linux 伺服器 下載 Linux 版 MySQL 安裝包 下載地址 ...
  • GeminiDB PITR執行數據快照業務無感,通常可在5分鐘以內恢復到指定時間點,有效解決傳統備份方案時間長、恢復粒度大等痛點問題。 ...
  • 引言 在數據驅動的世界中,企業正在尋求可靠且高性能的解決方案來管理其不斷增長的數據需求。本系列博客從一個重視數據安全和合規性的 B2C 金融科技客戶的角度來討論雲上雲下混合部署的情況下如何利用亞馬遜雲科技雲原生服務、開源社區產品以及第三方工具構建無伺服器數據倉庫的解耦方法。 本篇博客著重探討 EMR ...
  • Apache DolphinScheduler即將迎來3.3.0版本的發佈,屆時將有一系列重要的更新和改進。在近期的社區5月份用戶線上分享會上,項目PMC 阮文俊為大家介紹了3.3.0版本將帶來的主要更新和改進,併為大家指出瞭如何參與社區的方式。 什麼是DolphinScheduler? Dolph ...
  • 本文分享自華為雲社區《Flink SQL性能優化實踐》 ,作者:超夢。 在大數據處理領域,Apache Flink以其流處理和批處理一體化的能力,成為許多企業的首選。然而,隨著數據量的增長,性能優化變得至關重要。本文將深入淺出地探討Flink SQL的常見性能問題、調優方法、易錯點及調優技巧,並提供 ...
  • 生產環境單表查詢超時,表數據500萬+,這點數據按道理不加不加索引都不應該超時。排查業務數據,發現業務數據每天插入25萬+。初步懷疑併發導致數據處理不及時,進一步排查每分鐘都有300的左右實時數據插入到業務表,鍋應該不在這裡排查數據伺服器,發現CPU占用不高,512G的記憶體占用高達96%。但sql ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...