數(shù)據(jù)倉(cāng)庫(kù)是一種將來(lái)自不同源的數(shù)據(jù)聚合到單個(gè)集中式一致數(shù)據(jù)存儲(chǔ)中的系統(tǒng),以支持企業(yè)報(bào)表、數(shù)據(jù)分析、數(shù)據(jù)挖掘、人工智能和機(jī)器學(xué)習(xí)等應(yīng)用。數(shù)據(jù)倉(cāng)庫(kù)技術(shù)經(jīng)過(guò)幾十年的發(fā)展,產(chǎn)品架構(gòu)已經(jīng)經(jīng)過(guò)了多輪的迭代:

1.早期分析場(chǎng)景比較簡(jiǎn)單,業(yè)務(wù)采用 Oracle/MySQL 為代表的關(guān)系型數(shù)據(jù)庫(kù),在線處理與數(shù)據(jù)分析在一套系統(tǒng)里完成;但隨著數(shù)據(jù)分析場(chǎng)景的越來(lái)越復(fù)雜多樣化,這種方案的挑戰(zhàn)非常大,一是兩種負(fù)載會(huì)相互影響,同時(shí)數(shù)據(jù)分析的性能也不能滿足需求。

2. Teradata 、Oracle EDW 為代表的商用數(shù)據(jù)倉(cāng)庫(kù)應(yīng)運(yùn)而生,專(zhuān)門(mén)針對(duì)大規(guī)模數(shù)據(jù)的管理與價(jià)值挖掘,這類(lèi)數(shù)倉(cāng)產(chǎn)品功能強(qiáng)大,但其商業(yè)成本太高,導(dǎo)致技術(shù)無(wú)法普及使用。

3. Hadoop Hive 為代表的開(kāi)源數(shù)倉(cāng),基于開(kāi)源組件構(gòu)建大數(shù)據(jù)平臺(tái);Hadoop 生態(tài)讓大數(shù)據(jù)變成普惠技術(shù),企業(yè)能夠低成本的基于開(kāi)源 Hadoop 生態(tài),構(gòu)建企業(yè)級(jí)數(shù)倉(cāng)平臺(tái)。

4.Hadoop 生態(tài)使用門(mén)檻低,但因?yàn)榻M件繁多,維護(hù)代價(jià)非常高,隨著新技術(shù)的發(fā)展,Hadoop 生態(tài)各組件的技術(shù)競(jìng)爭(zhēng)力也在持續(xù)下降, SnowflakeRedshift、Bigquery 為代表云原生數(shù)倉(cāng),幫助企業(yè)構(gòu)建一體化的數(shù)據(jù)處理與分析平臺(tái)。

數(shù)據(jù)湖

數(shù)據(jù)湖是以原始格式存儲(chǔ)數(shù)據(jù)的存儲(chǔ)庫(kù)或系統(tǒng),它按原樣存儲(chǔ)數(shù)據(jù),無(wú)需事先對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化處理。

1.數(shù)據(jù)湖通常采用 S3 對(duì)象存儲(chǔ)或 HDFS 分布式文件系統(tǒng)作為底層統(tǒng)一存儲(chǔ),并作為 Single source of truth

2.數(shù)據(jù)湖通常采用開(kāi)放的數(shù)據(jù)格式,同時(shí)滿足結(jié)構(gòu)化、半結(jié)構(gòu)化等數(shù)據(jù)等存儲(chǔ)需求,并 ACID、UpsertTime travle 等高級(jí)特性,滿足企業(yè)數(shù)據(jù)管理方面的各種訴求。

3.業(yè)界常見(jiàn)的數(shù)據(jù)湖包括 Apache IcebergApache HudiDelta、Apache Paimon 等,業(yè)務(wù)采用 Trino、Presto、Impala 等引擎按需分析數(shù)據(jù)湖上的數(shù)據(jù)。

企業(yè)未來(lái)數(shù)據(jù)架構(gòu)應(yīng)該是建倉(cāng),還是建湖?

其實(shí),大家之所以有現(xiàn)在的糾結(jié),是因?yàn)閿?shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖各有優(yōu)劣,如果能將優(yōu)勢(shì)兼具,IT 架構(gòu)工程師們也不必一定要選擇是湖還是倉(cāng)。目前在業(yè)界,很多企業(yè)正在不斷探索湖倉(cāng)融合的路徑。

1.湖上建倉(cāng):企業(yè)的數(shù)據(jù)先進(jìn)入到數(shù)據(jù)湖統(tǒng)一存儲(chǔ),湖上直接性能不足,此時(shí)可以采用湖上建倉(cāng)的方案,將查詢(xún)性能要求高的部分通過(guò) ETL 導(dǎo)入到新的數(shù)據(jù)倉(cāng)庫(kù)提供服務(wù)。

2.倉(cāng)外掛湖:部分?jǐn)?shù)據(jù)倉(cāng)庫(kù)產(chǎn)品,例如 Redshift、Bigquery 等,開(kāi)始擴(kuò)展查詢(xún)外部數(shù)據(jù)湖(Hive、Iceberg 等)的能力,實(shí)現(xiàn)計(jì)算層的統(tǒng)一。

不管是湖上建倉(cāng)、還是倉(cāng)外掛湖的方案,本質(zhì)上數(shù)據(jù)都是分開(kāi)存儲(chǔ),可能還會(huì)通過(guò)不同的引擎服務(wù)不同場(chǎng)景的查詢(xún),更好的方案是實(shí)現(xiàn)湖倉(cāng)一體化,讓數(shù)據(jù)分析的架構(gòu)更加簡(jiǎn)單。那到底什么是湖倉(cāng)一體?

湖倉(cāng)一體

當(dāng)互聯(lián)網(wǎng)規(guī)模發(fā)展至一定程度后,企業(yè)數(shù)據(jù)的使用場(chǎng)景發(fā)生巨大變化,需求開(kāi)始從離線轉(zhuǎn)而要求實(shí)時(shí)的數(shù)據(jù)分析,同時(shí)隨著企業(yè)數(shù)據(jù)規(guī)模極速增長(zhǎng),企業(yè)對(duì)于實(shí)時(shí)數(shù)據(jù)治理提出更高的要求,要求業(yè)務(wù)端數(shù)據(jù)能夠?qū)崟r(shí)處理,進(jìn)一步滿足基于數(shù)據(jù)的實(shí)時(shí)分析和決策。

湖倉(cāng)一體是通過(guò)一套架構(gòu),滿足所有的分析需求,抽象化的描述,要能實(shí)現(xiàn) One Data、All Analytics 的業(yè)務(wù)價(jià)值。

1.統(tǒng)一數(shù)據(jù)存儲(chǔ):在湖倉(cāng)一體架構(gòu)下,數(shù)據(jù)要統(tǒng)一存儲(chǔ)管理,一份數(shù)據(jù)作為 Single source of truth,避免導(dǎo)來(lái)導(dǎo)去,造成數(shù)據(jù)冗余,分析口徑不一致等問(wèn)題;存儲(chǔ)層通常采用 S3/HDFS 作為數(shù)據(jù)存儲(chǔ)底層,并采用開(kāi)放數(shù)據(jù)湖或者私有的數(shù)據(jù)格式去管理數(shù)據(jù)。

2.極速查詢(xún)引擎:基于統(tǒng)一的數(shù)據(jù)存儲(chǔ),湖倉(cāng)一體架構(gòu)要能滿足所有的業(yè)務(wù)分析場(chǎng)景的訴求,包括 BI 報(bào)表、交互式分析、實(shí)時(shí)分析、ETL 數(shù)據(jù)加工等場(chǎng)景,這就要求必須要有一個(gè)足夠強(qiáng)大的分析引擎,能同時(shí)滿足這些場(chǎng)景的查詢(xún)需求。

3.按需查詢(xún)加速:對(duì)于部分業(yè)務(wù)場(chǎng)景特別復(fù)雜的查詢(xún),數(shù)據(jù)源數(shù)據(jù)組織未針對(duì)分析優(yōu)化,直接分析不一定能滿足查詢(xún)延時(shí)的需求,湖倉(cāng)一體架構(gòu)要具備通用的數(shù)據(jù)查詢(xún)加速的能力,并且不破壞 Single source of truth 的原則。

目前, StarRocks 3.x 推出了存算分離、湖倉(cāng)分析、物化視圖等重量級(jí)特性,能夠很好的幫助企業(yè)構(gòu)建湖倉(cāng)一體平臺(tái),微信、攜程、小紅書(shū)等數(shù)十家大型企業(yè)進(jìn)行實(shí)踐后,收獲極大的簡(jiǎn)化數(shù)據(jù)平臺(tái)的技術(shù)棧,同時(shí)提升的服務(wù)性能。

那么,如何構(gòu)建湖倉(cāng)一體平臺(tái)?

用戶(hù)可以將 StarRocks 當(dāng)作一站式湖倉(cāng),數(shù)據(jù)統(tǒng)一導(dǎo)入到 StarRocks ,借助存算分離的架構(gòu),實(shí)現(xiàn)低成本的數(shù)據(jù)存儲(chǔ),然后利用 StarRocks 查詢(xún)引擎來(lái)服務(wù)全場(chǎng)景的數(shù)據(jù)分析應(yīng)用;

如果用戶(hù)的數(shù)據(jù)已經(jīng)在開(kāi)放數(shù)據(jù)湖(Hive、Hudi、Iceberg、Paimon),就可以通過(guò) StarRocks 直接分析數(shù)據(jù)湖,同樣能獲得極高的查詢(xún)性能。

不管數(shù)據(jù)統(tǒng)一存儲(chǔ)在開(kāi)放數(shù)據(jù)湖里還是 StarRocks 里,當(dāng)查詢(xún)性能不足時(shí),都可以利用物化視圖加速查詢(xún)性能?;诖耍脩?hù)可以方便地構(gòu)建湖倉(cāng)一體平臺(tái),實(shí)現(xiàn) One Data、All Analytics 的業(yè)務(wù)價(jià)值。

當(dāng)然,對(duì)于有數(shù)據(jù)的安全、權(quán)限管理需要的企業(yè),可以選擇基于 StarRocks 開(kāi)發(fā)的企業(yè)級(jí)產(chǎn)品鏡舟湖倉(cāng)分析引擎。

鏡舟湖倉(cāng)分析引擎能夠兼容并加速企業(yè)已有的大數(shù)據(jù)架如Hive、IcebergHudi、DeltalakeMySQL  Oracle 等,有效幫助企業(yè)節(jié)省傳統(tǒng)架構(gòu)中數(shù)據(jù)搬運(yùn)的時(shí)間與成本, 通過(guò)簡(jiǎn)化數(shù)據(jù)鏈路,實(shí)現(xiàn)數(shù)據(jù)分析性能指數(shù)級(jí)提升。同時(shí),鏡舟湖倉(cāng)分析引擎部署簡(jiǎn)單、運(yùn)維便捷,在為企業(yè)提速的同時(shí)降低系統(tǒng)及人力成本。

企業(yè)可以通過(guò)鏡舟湖倉(cāng)分析引擎,支撐不同團(tuán)隊(duì)和角色的數(shù)據(jù)使用訴求,在報(bào)表查詢(xún)、用戶(hù)畫(huà)像與行為分析、自助指標(biāo)分析、實(shí)時(shí)風(fēng)控等業(yè)務(wù)場(chǎng)景實(shí)現(xiàn)加速,給業(yè)務(wù)團(tuán)隊(duì)帶來(lái)極速查詢(xún)、分析體驗(yàn),快速響應(yīng)市場(chǎng)變化,為解決企業(yè)數(shù)據(jù)治理需求和數(shù)據(jù)集成提供更優(yōu)解。

分享到

zhupb

相關(guān)推薦