之前寫了數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖:

今天是大數(shù)據(jù)專題的最后一篇,來(lái)講講數(shù)據(jù)湖倉(cāng)。

█ 為什么會(huì)有“數(shù)據(jù)湖倉(cāng)

前面我們提到,數(shù)據(jù)倉(cāng)庫(kù)出現(xiàn)于1990年代,主要基于MPP(Massively Parallel Processing,大規(guī)模并行處理)或者關(guān)系型數(shù)據(jù)庫(kù)實(shí)現(xiàn),用于企業(yè)做數(shù)據(jù)存儲(chǔ)、處理和分析,發(fā)展數(shù)據(jù)看板、BI(商業(yè)智能)等用途。

而數(shù)據(jù)湖,出現(xiàn)于2010年代,主要基于大數(shù)據(jù)技術(shù)(Hadoop等)生態(tài),用于支撐多樣化的數(shù)據(jù)存儲(chǔ),實(shí)時(shí)性更強(qiáng),適合滿足批處理、流式計(jì)算等業(yè)務(wù)場(chǎng)景。

打開網(wǎng)易新聞 查看精彩圖片

數(shù)據(jù)倉(cāng)庫(kù)的特點(diǎn)是,先做數(shù)據(jù)處理,搞得規(guī)范整齊之后,存起來(lái)。用的時(shí)候就直接用。它主要存的是結(jié)構(gòu)化(行列)數(shù)據(jù)。

數(shù)據(jù)湖的特點(diǎn)是,什么數(shù)據(jù)(結(jié)構(gòu)化、非結(jié)構(gòu)化、半結(jié)構(gòu)化)都能存,不做預(yù)處理,先全部都存起來(lái),等要用的時(shí)候,再處理。

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

兩種技術(shù),各有優(yōu)缺點(diǎn):

打開網(wǎng)易新聞 查看精彩圖片

從成本的角度來(lái)看,數(shù)據(jù)湖的起步成本很低,但隨著數(shù)據(jù)體量的增大,成本會(huì)迅速飆升。而數(shù)據(jù)倉(cāng)庫(kù)恰好相反,前期建設(shè)開支很大,后期成本增加趨緩。

打開網(wǎng)易新聞 查看精彩圖片

數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖,都是基于數(shù)據(jù)進(jìn)行價(jià)值挖掘,只是側(cè)重點(diǎn)不同。對(duì)于企業(yè)來(lái)說(shuō),兩者都有價(jià)值,所以,會(huì)選擇同時(shí)建設(shè)。

很顯然,這不僅導(dǎo)致了高昂的建設(shè)投資成本,也使得數(shù)據(jù)存在冗余和重復(fù)。

基于以上種種原因,業(yè)界就開始思考:是不是可以將數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖進(jìn)行結(jié)合,充分發(fā)揮兩者的優(yōu)勢(shì),彌補(bǔ)各自的缺陷呢?

打開網(wǎng)易新聞 查看精彩圖片

于是,就有一些服務(wù)商,開始研究如何將兩者的能力進(jìn)行“打通”。

主要思路包括兩種:一種是讓數(shù)據(jù)倉(cāng)庫(kù)支持對(duì)數(shù)據(jù)湖的訪問。還有一種,是讓數(shù)據(jù)湖具備數(shù)據(jù)倉(cāng)庫(kù)的一些能力。

前者比較有代表性的,是2017年Redshift推出的Redshift Spectrum。它支持Redsift數(shù)據(jù)倉(cāng)庫(kù)用戶訪問AWS S3數(shù)據(jù)湖的數(shù)據(jù)。

后者有代表性的比較多,包括2017年Hortonworks孵化出的Apache Atlas和Ranger項(xiàng)目,2018年Nexflix開源的內(nèi)部增強(qiáng)版本元數(shù)據(jù)服務(wù)系統(tǒng)Iceberg。2018-2019年,Uber和Databricks相繼推出了Apache Hudi和DeltaLake,推出增量文件格式,用以支持Update/Insert、事務(wù)等數(shù)據(jù)倉(cāng)庫(kù)功能。

所有這些嘗試和努力,都多多少少存在一些缺陷(數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖存在本質(zhì)的區(qū)別,整合難度很大),并不算成功。

2020年,數(shù)據(jù)智能獨(dú)角獸企業(yè)Databricks(沒錯(cuò),就是提出Delta Lake的那個(gè)公司,數(shù)據(jù)湖的代表企業(yè))正式提出了數(shù)據(jù)湖倉(cāng)(Data Lakehouse)概念。

打開網(wǎng)易新聞 查看精彩圖片

Databricks聯(lián)合創(chuàng)始人兼首席執(zhí)行官阿里·戈德西(Ali Ghodsi)表示:

“從長(zhǎng)遠(yuǎn)來(lái)看,所有數(shù)據(jù)倉(cāng)庫(kù)都將被納入數(shù)據(jù)湖倉(cāng),這不會(huì)在一夜之間發(fā)生——這些東西會(huì)共存一段時(shí)間——在價(jià)格和性能上,數(shù)據(jù)湖倉(cāng)完勝數(shù)據(jù)倉(cāng)庫(kù)?!?/p>

數(shù)據(jù)湖倉(cāng),也被稱為湖倉(cāng)一體。

2021年,“湖倉(cāng)一體”首次被寫入Gartner數(shù)據(jù)管理領(lǐng)域成熟度報(bào)告。2023年6月,大數(shù)據(jù)技術(shù)標(biāo)準(zhǔn)推進(jìn)委員會(huì)發(fā)布了《湖倉(cāng)一體技術(shù)與產(chǎn)業(yè)研究報(bào)告(2023年)》。這一年的6月26日,“湖倉(cāng)一體”在中國(guó)大數(shù)據(jù)產(chǎn)業(yè)發(fā)展大會(huì)上成功入選“2023大數(shù)據(jù)十大關(guān)鍵詞”。

打開網(wǎng)易新聞 查看精彩圖片

數(shù)據(jù)湖倉(cāng)的主要特點(diǎn)

數(shù)據(jù)湖倉(cāng)(湖倉(cāng)一體),說(shuō)白了,就是一種將數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖打通的新型開放式架構(gòu)。它既具備數(shù)據(jù)湖的靈活性,也具備數(shù)據(jù)倉(cāng)庫(kù)的高性能及管理能力,為企業(yè)進(jìn)行數(shù)據(jù)治理帶來(lái)了更大的便利和更高的效率。

在數(shù)據(jù)湖倉(cāng)的底層,支持多種數(shù)據(jù)類型并存,能實(shí)現(xiàn)數(shù)據(jù)間的相互共享。

在數(shù)據(jù)湖倉(cāng)的上層,可以通過(guò)統(tǒng)一接口進(jìn)行訪問,可同時(shí)支持實(shí)時(shí)查詢和分析。

打開網(wǎng)易新聞 查看精彩圖片

數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖這兩套體系相互打通之后,數(shù)據(jù)可以在兩者之間自由流動(dòng)。

也就是說(shuō),數(shù)據(jù)湖里的“新鮮”數(shù)據(jù)(熱數(shù)據(jù)),可以流到數(shù)據(jù)倉(cāng)庫(kù)里,直接被數(shù)據(jù)倉(cāng)庫(kù)使用。

而數(shù)據(jù)倉(cāng)庫(kù)里的“不新鮮”數(shù)據(jù)(冷數(shù)據(jù)),也可以流到數(shù)據(jù)湖里,低成本長(zhǎng)久保存,供未來(lái)使用。

數(shù)據(jù)湖倉(cāng)的特點(diǎn),其實(shí)就是數(shù)據(jù)倉(cāng)庫(kù)的優(yōu)點(diǎn)+數(shù)據(jù)湖的優(yōu)點(diǎn)。

在數(shù)據(jù)存儲(chǔ)方面,繼承了數(shù)據(jù)湖的優(yōu)勢(shì),支持多樣化數(shù)據(jù),且以HDFS或云對(duì)象存儲(chǔ)為基礎(chǔ),實(shí)現(xiàn)了低成本、高可用。數(shù)據(jù)以原始格式或開放文件格式(如 Parquet、ORC)存儲(chǔ),具備高效的壓縮比與列存儲(chǔ)特性,方便查找。

開放文件格式,也保障了數(shù)據(jù)在不同計(jì)算引擎間的通用性。

數(shù)據(jù)湖倉(cāng)同樣支持Iceberg、Hudi、Delta Lake等開放表格式。它們不僅支持?jǐn)?shù)據(jù)的近實(shí)時(shí)更新、高效的快照管理,還兼容 SQL 標(biāo)準(zhǔn),使得數(shù)據(jù)既可以像傳統(tǒng)數(shù)據(jù)庫(kù)表一樣進(jìn)行事務(wù)性操作,又能充分利用數(shù)據(jù)湖的分布式存儲(chǔ)與彈性計(jì)算優(yōu)勢(shì)。

在計(jì)算引擎方面(采用存算分離架構(gòu)),整合了Spark、Flink、Presto、Doris等多樣的計(jì)算引擎。通過(guò)統(tǒng)一的調(diào)度與資源管理,不同引擎可以共享存儲(chǔ)資源,協(xié)同處理復(fù)雜的數(shù)據(jù)工作流,滿足企業(yè)從實(shí)時(shí)監(jiān)控到深度分析的全方位計(jì)算需求。

打開網(wǎng)易新聞 查看精彩圖片

阿里云數(shù)據(jù)湖倉(cāng)架構(gòu)(來(lái)自阿里云官網(wǎng))

在數(shù)據(jù)一致性方面,提供ACID(原子性、一致性、隔離性、持久性)保證,確保數(shù)據(jù)寫入的一致性,保證了多方同時(shí)讀取或?qū)懭霐?shù)據(jù)時(shí)的數(shù)據(jù)準(zhǔn)確性。

在數(shù)據(jù)管理方面,數(shù)據(jù)湖倉(cāng)實(shí)現(xiàn)了統(tǒng)一的元數(shù)據(jù)管理,支持全鏈路血緣,提供統(tǒng)一的命名空間、全局的數(shù)據(jù)目錄。無(wú)論數(shù)據(jù)存儲(chǔ)在何處,使用何種計(jì)算引擎,用戶都能通過(guò)統(tǒng)一的API進(jìn)行快速檢索、理解與訪問數(shù)據(jù)。數(shù)據(jù)治理,變得非常高效。

在數(shù)據(jù)安全方面,數(shù)據(jù)湖倉(cāng)一般還支持多租戶和庫(kù)表列級(jí)數(shù)據(jù)權(quán)限,能夠很好地進(jìn)行租戶隔離和數(shù)據(jù)權(quán)限管控,確保了數(shù)據(jù)的安全性和隱私性。

打開網(wǎng)易新聞 查看精彩圖片

當(dāng)然了,數(shù)據(jù)湖倉(cāng)也不是沒有缺點(diǎn)。

作為一項(xiàng)融合的技術(shù)架構(gòu),它的復(fù)雜性比較高,需要很高的技術(shù)門檻。而且,它的早期投資比較大,對(duì)企業(yè)來(lái)說(shuō)有一定的成本壓力。

數(shù)據(jù)湖倉(cāng)的性能優(yōu)化、數(shù)據(jù)治理以及安全防護(hù),也存在一定的挑戰(zhàn)。這些門檻和挑戰(zhàn),往往會(huì)讓企業(yè)用戶望而卻步。

數(shù)據(jù)湖倉(cāng)的參考架構(gòu)

數(shù)據(jù)湖倉(cāng)誕生至今的時(shí)間并不是很長(zhǎng)。從最開始的倉(cāng)和湖獨(dú)立建設(shè),到后來(lái),逐漸形成了“湖上建倉(cāng)”“倉(cāng)外掛湖”兩種實(shí)踐路徑。

湖上建倉(cāng), 是指基于數(shù)據(jù)湖架構(gòu),或者以數(shù)據(jù)湖作為數(shù)據(jù)存儲(chǔ)中間層,實(shí)現(xiàn)多源異構(gòu)數(shù)據(jù)的統(tǒng)一存儲(chǔ)。然后,以統(tǒng)一調(diào)用接口方式調(diào)用計(jì)算引擎,最終實(shí)現(xiàn)上下結(jié)構(gòu)的湖倉(cāng)一體架構(gòu)。

倉(cāng)外掛湖,是指以MPP數(shù)據(jù)庫(kù)為基礎(chǔ),使用可插拔架構(gòu),通過(guò)開放接口對(duì)接外部存儲(chǔ),實(shí)現(xiàn)統(tǒng)一存儲(chǔ)。

隨著時(shí)間的推移,也有企業(yè)開始推出兩種架構(gòu)的深入融合。

目前,在數(shù)據(jù)湖倉(cāng)領(lǐng)域 比較有代表性的服務(wù)商,包括國(guó)外的AWS( 亞馬遜云科技 )、微軟Azure 、Databricks、 Snowflake,以及國(guó)內(nèi)的阿里云、騰訊云、 華為云、星環(huán)科技等。

打開網(wǎng)易新聞 查看精彩圖片

各大服務(wù)商的架構(gòu)有較差的差異,但基本上都包括存儲(chǔ)層、元數(shù)據(jù)管理層、計(jì)算引擎層、服務(wù)與治理層等。

以下是幾個(gè)比較有代表性的架構(gòu),供參考。

科杰的數(shù)據(jù)湖倉(cāng)架構(gòu):

打開網(wǎng)易新聞 查看精彩圖片

圖片來(lái)自網(wǎng)絡(luò)

Azure的數(shù)據(jù)湖倉(cāng)架構(gòu):

打開網(wǎng)易新聞 查看精彩圖片

圖片來(lái)自網(wǎng)絡(luò)

AWS的數(shù)據(jù)湖倉(cāng)(他們叫智能湖倉(cāng))架構(gòu):

打開網(wǎng)易新聞 查看精彩圖片

圖片來(lái)自“特大號(hào)”

基于Apache Doris的湖倉(cāng)一體架構(gòu):

打開網(wǎng)易新聞 查看精彩圖片

圖片來(lái)自網(wǎng)絡(luò)

最后的話

目前來(lái)看,數(shù)據(jù)湖倉(cāng)正在加速成為企業(yè)重要的戰(zhàn)略性基礎(chǔ)設(shè)施,用于長(zhǎng)期的數(shù)據(jù)價(jià)值挖掘,以及發(fā)展AI應(yīng)用。

根據(jù)畢馬威的報(bào)告顯示,86%的海外企業(yè)計(jì)劃統(tǒng)一其分析數(shù)據(jù),以支持AI業(yè)務(wù)的開發(fā)。國(guó)內(nèi)也是如此。例如騰訊、B站、小紅書等頭部互聯(lián)網(wǎng)企業(yè),都采用了數(shù)據(jù)湖倉(cāng)架構(gòu),用于不同程度的AI應(yīng)用。

數(shù)據(jù)湖倉(cāng)在實(shí)時(shí)流處理與機(jī)器學(xué)習(xí)方面表現(xiàn)出色,能夠很好地滿足大模型的訓(xùn)練需求,相信未來(lái)幾年會(huì)得到更好的發(fā)展。

好啦,以上就是關(guān)于數(shù)據(jù)湖倉(cāng)的介紹。鮮棗課堂大數(shù)據(jù)專題系列到此結(jié)束。感謝大家的耐心觀看!

參考文獻(xiàn):

1、《數(shù)據(jù)庫(kù)、數(shù)據(jù)湖、數(shù)據(jù)倉(cāng)庫(kù)、湖倉(cāng)一體、智能湖倉(cāng),分別都是什么鬼》,特大號(hào);

2、《從數(shù)據(jù)湖到湖倉(cāng)一體:統(tǒng)一數(shù)據(jù)架構(gòu)演進(jìn)之路》,Light Gao,知乎;

3、《數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)湖、湖倉(cāng)一體,究竟有什么區(qū)別?》,SelectDB,知乎;

4、《什么是湖倉(cāng)一體?湖倉(cāng)一體解決了什么問題?》,帆軟;

5、《2024大數(shù)據(jù)“打假”:什么才是真湖倉(cāng)一體?》,張友東;大數(shù)據(jù)在線;

6、《大數(shù)據(jù)架構(gòu)系列:如何理解湖倉(cāng)一體?》,葉強(qiáng)盛,騰訊云開發(fā)者社區(qū);

7、百度百科,維基百科,各大服務(wù)商官網(wǎng)。