隨著信息時代的興起,數據已成為推動業務決策和創新的核心要素;結構化、半結構化等多種類型的數據呈現爆炸式增長,如何高效處理和分析海量數據已經成為關鍵挑戰。
當前業界構建數據分析的技術棧,有兩條典型的路線,一個是數倉路線,一個是數據湖的路線。 數據倉庫的路線,數據先通過 ETL 統一寫入到數倉進行管理,然后構建數據集市來滿足 BI 分析的各種需求;優勢是數據質量高、查詢性能高、具備實時分析的能力、數據治理功能完善等。 而數據湖的路線,通常是未經加工的數據先統一存儲在數據湖,作為企業數據的 single sourth of truth,然后按需的使用數據,構建數據應用;優勢是通開放生態、擴展性強,性價比高。 數據倉庫
數據倉庫是一種將來自不同源的數據聚合到單個集中式一致數據存儲中的系統,以支持企業報表、數據分析、數據挖掘、人工智能和機器學習等應用。數據倉庫技術經過幾十年的發展,產品架構已經經過了多輪的迭代:
1.早期分析場景比較簡單,業務采用 Oracle/MySQL 為代表的關系型數據庫,在線處理與數據分析在一套系統里完成;但隨著數據分析場景的越來越復雜多樣化,這種方案的挑戰非常大,一是兩種負載會相互影響,同時數據分析的性能也不能滿足需求。
2.以 Teradata 、Oracle EDW 為代表的商用數據倉庫應運而生,專門針對大規模數據的管理與價值挖掘,這類數倉產品功能強大,但其商業成本太高,導致技術無法普及使用。
3.以 Hadoop( Hive) 為代表的開源數倉,基于開源組件構建大數據平臺;Hadoop 生態讓大數據變成普惠技術,企業能夠低成本的基于開源 Hadoop 生態,構建企業級數倉平臺。
4.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 等引擎按需分析數據湖上的數據。 企業未來數據架構應該是建倉,還是建湖? 其實,大家之所以有現在的糾結,是因為數據倉庫和數據湖各有優劣,如果能將優勢兼具,IT 架構工程師們也不必一定要選擇是湖還是倉。
目前在業界,很多企業正在不斷探索湖倉融合的路徑。 ?湖上建倉:企業的數據先進入到數據湖統一存儲,湖上直接性能不足,此時可以采用湖上建倉的方案,將查詢性能要求高的部分通過 ETL 導入到新的數據倉庫提供服務。 ?倉外掛湖:部分數據倉庫產品,例如 Redshift、Bigquery 等,開始擴展查詢外部數據湖(Hive、Iceberg 等)的能力,實現計算層的統一。 不管是湖上建倉、還是倉外掛湖的方案,本質上數據都是分開存儲,可能還會通過不同的引擎服務不同場景的查詢,更好的方案是實現湖倉一體化,讓數據分析的架構更加簡單。那到底什么是湖倉一體?
湖倉一體 當互聯網規模發展至一定程度后,企業數據的使用場景發生巨大變化,需求開始從離線轉而要求實時的數據分析,同時隨著企業數據規模極速增長,企業對于實時數據治理提出更高的要求,要求業務端數據能夠實時處理,進一步滿足基于數據的實時分析和決策。 湖倉一體是通過一套架構,滿足所有的分析需求,抽象化的描述,要能實現 One Data、All Analytics 的業務價值。
1.統一數據存儲:在湖倉一體架構下,數據要統一存儲管理,一份數據作為 Single source of truth,避免導來導去,造成數據冗余,分析口徑不一致等問題;存儲層通常采用 S3/HDFS 作為數據存儲底層,并采用開放數據湖或者私有的數據格式去管理數據。
2.極速查詢引擎:基于統一的數據存儲,湖倉一體架構要能滿足所有的業務分析場景的訴求,包括 BI 報表、交互式分析、實時分析、ETL 數據加工等場景,這就要求必須要有一個足夠強大的分析引擎,能同時滿足這些場景的查詢需求。
3.按需查詢加速:對于部分業務場景特別復雜的查詢,數據源數據組織未針對分析優化,直接分析不一定能滿足查詢延時的需求,湖倉一體架構要具備通用的數據查詢加速的能力,并且不破壞 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 等,有效幫助企業節省傳統架構中數據搬運的時間與成本, 通過簡化數據鏈路,實現數據分析性能指數級提升。同時,鏡舟湖倉分析引擎部署簡單、運維便捷,在為企業提速的同時降低系統及人力成本。 企業可以通過鏡舟湖倉分析引擎,支撐不同團隊和角色的數據使用訴求,在報表查詢、用戶畫像與行為分析、自助指標分析、實時風控等業務場景實現加速,給業務團隊帶來極速查詢、分析體驗,快速響應市場變化,為解決企業數據治理需求和數據集成提供更優解。
審核編輯:黃飛
-
數據存儲
+關注
關注
5文章
913瀏覽量
50640 -
MySQL
+關注
關注
1文章
776瀏覽量
26058 -
數據倉庫
+關注
關注
0文章
60瀏覽量
10404 -
大數據
+關注
關注
64文章
8700瀏覽量
136671
原文標題:大數據演進觀察:到底什么是湖倉一體?
文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論