數(shù)據(jù)倉庫是一種將來自不同源的數(shù)據(jù)聚合到單個(gè)集中式一致數(shù)據(jù)存儲中的系統(tǒng),以支持企業(yè)報(bào)表、數(shù)據(jù)分析、數(shù)據(jù)挖掘、人工智能和機(jī)器學(xué)習(xí)等應(yīng)用。數(shù)據(jù)倉庫技術(shù)經(jīng)過幾十年的發(fā)展,產(chǎn)品架構(gòu)已經(jīng)經(jīng)過了多輪的迭代:
1.早期分析場景比較簡單,業(yè)務(wù)采用 Oracle/MySQL 為代表的關(guān)系型數(shù)據(jù)庫,在線處理與數(shù)據(jù)分析在一套系統(tǒng)里完成;但隨著數(shù)據(jù)分析場景的越來越復(fù)雜多樣化,這種方案的挑戰(zhàn)非常大,一是兩種負(fù)載會(huì)相互影響,同時(shí)數(shù)據(jù)分析的性能也不能滿足需求。
2.以 Teradata 、Oracle EDW 為代表的商用數(shù)據(jù)倉庫應(yīng)運(yùn)而生,專門針對大規(guī)模數(shù)據(jù)的管理與價(jià)值挖掘,這類數(shù)倉產(chǎn)品功能強(qiáng)大,但其商業(yè)成本太高,導(dǎo)致技術(shù)無法普及使用。
3.以 Hadoop( Hive) 為代表的開源數(shù)倉,基于開源組件構(gòu)建大數(shù)據(jù)平臺;Hadoop 生態(tài)讓大數(shù)據(jù)變成普惠技術(shù),企業(yè)能夠低成本的基于開源 Hadoop 生態(tài),構(gòu)建企業(yè)級數(shù)倉平臺。
4.Hadoop 生態(tài)使用門檻低,但因?yàn)榻M件繁多,維護(hù)代價(jià)非常高,隨著新技術(shù)的發(fā)展,Hadoop 生態(tài)各組件的技術(shù)競爭力也在持續(xù)下降,以 Snowflake、Redshift、Bigquery 為代表云原生數(shù)倉,幫助企業(yè)構(gòu)建一體化的數(shù)據(jù)處理與分析平臺。
數(shù)據(jù)湖
數(shù)據(jù)湖是以原始格式存儲數(shù)據(jù)的存儲庫或系統(tǒng),它按原樣存儲數(shù)據(jù),無需事先對數(shù)據(jù)進(jìn)行結(jié)構(gòu)化處理。
1.數(shù)據(jù)湖通常采用 S3 對象存儲或 HDFS 分布式文件系統(tǒng)作為底層統(tǒng)一存儲,并作為 Single source of truth。
2.數(shù)據(jù)湖通常采用開放的數(shù)據(jù)格式,同時(shí)滿足結(jié)構(gòu)化、半結(jié)構(gòu)化等數(shù)據(jù)等存儲需求,并 ACID、Upsert、Time travle 等高級特性,滿足企業(yè)數(shù)據(jù)管理方面的各種訴求。
3.業(yè)界常見的數(shù)據(jù)湖包括 Apache Iceberg、Apache Hudi、Delta、Apache Paimon 等,業(yè)務(wù)采用 Trino、Presto、Impala 等引擎按需分析數(shù)據(jù)湖上的數(shù)據(jù)。
企業(yè)未來數(shù)據(jù)架構(gòu)應(yīng)該是建倉,還是建湖?
其實(shí),大家之所以有現(xiàn)在的糾結(jié),是因?yàn)閿?shù)據(jù)倉庫和數(shù)據(jù)湖各有優(yōu)劣,如果能將優(yōu)勢兼具,IT 架構(gòu)工程師們也不必一定要選擇是湖還是倉。目前在業(yè)界,很多企業(yè)正在不斷探索湖倉融合的路徑。
1.湖上建倉:企業(yè)的數(shù)據(jù)先進(jìn)入到數(shù)據(jù)湖統(tǒng)一存儲,湖上直接性能不足,此時(shí)可以采用湖上建倉的方案,將查詢性能要求高的部分通過 ETL 導(dǎo)入到新的數(shù)據(jù)倉庫提供服務(wù)。
2.倉外掛湖:部分?jǐn)?shù)據(jù)倉庫產(chǎn)品,例如 Redshift、Bigquery 等,開始擴(kuò)展查詢外部數(shù)據(jù)湖(Hive、Iceberg 等)的能力,實(shí)現(xiàn)計(jì)算層的統(tǒng)一。
不管是湖上建倉、還是倉外掛湖的方案,本質(zhì)上數(shù)據(jù)都是分開存儲,可能還會(huì)通過不同的引擎服務(wù)不同場景的查詢,更好的方案是實(shí)現(xiàn)湖倉一體化,讓數(shù)據(jù)分析的架構(gòu)更加簡單。那到底什么是湖倉一體?
湖倉一體
當(dāng)互聯(lián)網(wǎng)規(guī)模發(fā)展至一定程度后,企業(yè)數(shù)據(jù)的使用場景發(fā)生巨大變化,需求開始從離線轉(zhuǎn)而要求實(shí)時(shí)的數(shù)據(jù)分析,同時(shí)隨著企業(yè)數(shù)據(jù)規(guī)模極速增長,企業(yè)對于實(shí)時(shí)數(shù)據(jù)治理提出更高的要求,要求業(yè)務(wù)端數(shù)據(jù)能夠?qū)崟r(shí)處理,進(jìn)一步滿足基于數(shù)據(jù)的實(shí)時(shí)分析和決策。
湖倉一體是通過一套架構(gòu),滿足所有的分析需求,抽象化的描述,要能實(shí)現(xiàn) One Data、All Analytics 的業(yè)務(wù)價(jià)值。
1.統(tǒng)一數(shù)據(jù)存儲:在湖倉一體架構(gòu)下,數(shù)據(jù)要統(tǒng)一存儲管理,一份數(shù)據(jù)作為 Single source of truth,避免導(dǎo)來導(dǎo)去,造成數(shù)據(jù)冗余,分析口徑不一致等問題;存儲層通常采用 S3/HDFS 作為數(shù)據(jù)存儲底層,并采用開放數(shù)據(jù)湖或者私有的數(shù)據(jù)格式去管理數(shù)據(jù)。
2.極速查詢引擎:基于統(tǒng)一的數(shù)據(jù)存儲,湖倉一體架構(gòu)要能滿足所有的業(yè)務(wù)分析場景的訴求,包括 BI 報(bào)表、交互式分析、實(shí)時(shí)分析、ETL 數(shù)據(jù)加工等場景,這就要求必須要有一個(gè)足夠強(qiáng)大的分析引擎,能同時(shí)滿足這些場景的查詢需求。
3.按需查詢加速:對于部分業(yè)務(wù)場景特別復(fù)雜的查詢,數(shù)據(jù)源數(shù)據(jù)組織未針對分析優(yōu)化,直接分析不一定能滿足查詢延時(shí)的需求,湖倉一體架構(gòu)要具備通用的數(shù)據(jù)查詢加速的能力,并且不破壞 Single source of truth 的原則。
目前, StarRocks 3.x 推出了存算分離、湖倉分析、物化視圖等重量級特性,能夠很好的幫助企業(yè)構(gòu)建湖倉一體平臺,微信、攜程、小紅書等數(shù)十家大型企業(yè)進(jìn)行實(shí)踐后,收獲極大的簡化數(shù)據(jù)平臺的技術(shù)棧,同時(shí)提升的服務(wù)性能。
那么,如何構(gòu)建湖倉一體平臺?
用戶可以將 StarRocks 當(dāng)作一站式湖倉,數(shù)據(jù)統(tǒng)一導(dǎo)入到 StarRocks ,借助存算分離的架構(gòu),實(shí)現(xiàn)低成本的數(shù)據(jù)存儲,然后利用 StarRocks 查詢引擎來服務(wù)全場景的數(shù)據(jù)分析應(yīng)用;
如果用戶的數(shù)據(jù)已經(jīng)在開放數(shù)據(jù)湖(Hive、Hudi、Iceberg、Paimon),就可以通過 StarRocks 直接分析數(shù)據(jù)湖,同樣能獲得極高的查詢性能。
不管數(shù)據(jù)統(tǒng)一存儲在開放數(shù)據(jù)湖里還是 StarRocks 里,當(dāng)查詢性能不足時(shí),都可以利用物化視圖加速查詢性能?;诖?,用戶可以方便地構(gòu)建湖倉一體平臺,實(shí)現(xiàn) One Data、All Analytics 的業(yè)務(wù)價(jià)值。
當(dāng)然,對于有數(shù)據(jù)的安全、權(quán)限管理需要的企業(yè),可以選擇基于 StarRocks 開發(fā)的企業(yè)級產(chǎn)品鏡舟湖倉分析引擎。
鏡舟湖倉分析引擎能夠兼容并加速企業(yè)已有的大數(shù)據(jù)架如Hive、Iceberg、Hudi、Deltalake、MySQL 和 Oracle 等,有效幫助企業(yè)節(jié)省傳統(tǒng)架構(gòu)中數(shù)據(jù)搬運(yùn)的時(shí)間與成本, 通過簡化數(shù)據(jù)鏈路,實(shí)現(xiàn)數(shù)據(jù)分析性能指數(shù)級提升。同時(shí),鏡舟湖倉分析引擎部署簡單、運(yùn)維便捷,在為企業(yè)提速的同時(shí)降低系統(tǒng)及人力成本。
企業(yè)可以通過鏡舟湖倉分析引擎,支撐不同團(tuán)隊(duì)和角色的數(shù)據(jù)使用訴求,在報(bào)表查詢、用戶畫像與行為分析、自助指標(biāo)分析、實(shí)時(shí)風(fēng)控等業(yè)務(wù)場景實(shí)現(xiàn)加速,給業(yè)務(wù)團(tuán)隊(duì)帶來極速查詢、分析體驗(yàn),快速響應(yīng)市場變化,為解決企業(yè)數(shù)據(jù)治理需求和數(shù)據(jù)集成提供更優(yōu)解。