2024大數據“打假”:什麼才是真湖倉一體?_風聞
大数据在线-41分钟前
編者按:近年來,隨着金融、製造、政務、交通、醫療等行業數字化轉型深入,大量智慧應用湧現,使得構建強大的數據分析技術棧成為必須,也讓“湖倉一體”成為熱門詞彙。但面對市場中各色各樣的湖倉技術,眾多行業用户既分辨不清,又無從選擇。本文梳理了當前市場中主流數據分析技術棧的優劣,並對“湖倉一體”架構演進趨勢進行了深度分析,值得廣大用户一讀。
隨着信息時代的興起,數據已成為推動業務決策和創新的核心要素;結構化、半結構化等多種類型的數據呈現爆炸式增長,如何高效處理和分析海量數據已經成為關鍵挑戰。
當前業界構建數據分析的技術棧,有兩條典型的路線:一條是數倉路線,另一條則是數據湖的路線。
數據倉庫的路線,數據先通過 ETL 統一寫入到數倉進行管理,然後構建數據集市來滿足 BI 分析的各種需求;優勢是數據質量高、查詢性能高、具備實時分析的能力、數據治理功能完善等。
而數據湖的路線,通常是未經加工的數據先統一存儲在數據湖,作為企業數據的 single sourth of truth,然後按需的使用數據,構建數據應用;優勢是通開放生態、擴展性強,性價比高。
數據倉庫
數據倉庫是一種將來自不同源的數據聚合到單個集中式一致數據存儲中的系統,以支持企業報表、數據分析、數據挖掘、人工智能和機器學習等應用。數據倉庫技術經過幾十年的發展,產品架構已經經過了多輪的迭代:
早期分析場景比較簡單,業務採用 Oracle/MySQL 為代表的關係型數據庫,在線處理與數據分析在一套系統裏完成;但隨着數據分析場景的越來越複雜多樣化,這種方案的挑戰非常大,一是兩種負載會相互影響,同時數據分析的性能也不能滿足需求。以 Teradata 、Oracle EDW 為代表的商用數據倉庫應運而生,專門針對大規模數據的管理與價值挖掘,這類數倉產品功能強大,但其商業成本太高,導致技術無法普及使用。以 Hadoop( Hive) 為代表的開源數倉,基於開源組件構建大數據平台;Hadoop 生態讓大數據變成普惠技術,企業能夠低成本的基於開源 Hadoop 生態,構建企業級數倉平台。Hadoop 生態使用門檻低,但因為組件繁多,維護代價非常高,隨着新技術的發展,Hadoop 生態各組件的技術競爭力也在持續下降,以 Snowflake、Redshift、Bigquery 為代表雲原生數倉,幫助企業構建一體化的數據處理與分析平台。數據湖
數據湖是以原始格式存儲數據的存儲庫或系統,它按原樣存儲數據,無需事先對數據進行結構化處理。
數據湖通常採用 S3 對象存儲或 HDFS 分佈式文件系統作為底層統一存儲,並作為 Single source of truth。數據湖通常採用開放的數據格式,同時滿足結構化、半結構化等數據等存儲需求,並 ACID、Upsert、Time travle 等高級特性,滿足企業數據管理方面的各種訴求。業界常見的數據湖包括 Apache Iceberg、Apache Hudi、Delta、Apache Paimon 等,業務採用 Trino、Presto、Impala 等引擎按需分析數據湖上的數據。企業未來數據架構應該建倉or建湖
其實,大家之所以有現在的糾結,是因為數據倉庫和數據湖各有優劣,如果能將優勢兼具,IT 架構工程師們也不必一定要選擇是湖還是倉。目前在業界,很多企業正在不斷探索湖倉融合的路徑。
湖上建倉:企業的數據先進入到數據湖統一存儲,湖上直接性能不足,此時可以採用湖上建倉的方案,將查詢性能要求高的部分通過 ETL 導入到新的數據倉庫提供服務。倉外掛湖:部分數據倉庫產品,例如 Redshift、Bigquery 等,開始擴展查詢外部數據湖(Hive、Iceberg 等)的能力,實現計算層的統一。
不管是湖上建倉、還是倉外掛湖的方案,本質上數據都是分開存儲,可能還會通過不同的引擎服務不同場景的查詢,更好的方案是實現湖倉一體化,讓數據分析的架構更加簡單。那到底什麼是湖倉一體?
湖倉一體
當互聯網規模發展至一定程度後,企業數據的使用場景發生巨大變化,需求開始從離線轉而要求實時的數據分析,同時隨着企業數據規模極速增長,企業對於實時數據治理提出更高的要求,要求業務端數據能夠實時處理,進一步滿足基於數據的實時分析和決策。
湖倉一體是通過一套架構,滿足所有的分析需求,抽象化的描述,要能實現 One Data、All Analytics 的業務價值。
統一數據存儲:在湖倉一體架構下,數據要統一存儲管理,一份數據作為 Single source of truth,避免導來導去,造成數據冗餘,分析口徑不一致等問題;存儲層通常採用 S3/HDFS 作為數據存儲底層,並採用開放數據湖或者私有的數據格式去管理數據。極速查詢引擎:基於統一的數據存儲,湖倉一體架構要能滿足所有的業務分析場景的訴求,包括 BI 報表、交互式分析、實時分析、ETL 數據加工等場景,這就要求必須要有一個足夠強大的分析引擎,能同時滿足這些場景的查詢需求。按需查詢加速:對於部分業務場景特別複雜的查詢,數據源數據組織未針對分析優化,直接分析不一定能滿足查詢延時的需求,湖倉一體架構要具備通用的數據查詢加速的能力,並且不破壞 Single source of truth 的原則。
目前, StarRocks 3.x 推出了存算分離、湖倉分析、物化視圖等重量級特性,能夠很好的幫助企業構建湖倉一體平台,微信、攜程、小紅書等數十家大型企業進行實踐後,收穫極大的簡化數據平台的技術棧,同時提升的服務性能。
那麼,如何構建湖倉一體平台?
用户可以將 StarRocks 當作一站式湖倉,數據統一導入到 StarRocks ,藉助存算分離的架構,實現低成本的數據存儲,然後利用 StarRocks 查詢引擎來服務全場景的數據分析應用;
如果用户的數據已經在開放數據湖(Hive、Hudi、Iceberg、Paimon),就可以通過 StarRocks 直接分析數據湖,同樣能獲得極高的查詢性能。
不管數據統一存儲在開放數據湖裏還是 StarRocks 裏,當查詢性能不足時,都可以利用物化視圖加速查詢性能。基於此,用户可以方便地構建湖倉一體平台,實現 One Data、All Analytics 的業務價值。
當然,對於有數據的安全、權限管理需要的企業,可以選擇基於 StarRocks 開發的企業級產品鏡舟湖倉分析引擎。
鏡舟湖倉分析引擎能夠兼容並加速企業已有的大數據架構如Hive、Iceberg、Hudi、Deltalake、MySQL 和 Oracle 等,有效幫助企業節省傳統架構中數據搬運的時間與成本, 通過簡化數據鏈路,實現數據分析性能指數級提升。同時,鏡舟湖倉分析引擎部署簡單、運維便捷,在為企業提速的同時降低系統及人力成本。
企業可以通過鏡舟湖倉分析引擎,支撐不同團隊和角色的數據使用訴求,在報表查詢、用户畫像與行為分析、自助指標分析、實時風控等業務場景實現加速,給業務團隊帶來極速查詢、分析體驗,快速響應市場變化,為解決企業數據治理需求和數據集成提供更優解。