數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)的存在并不沖突,也并不是取代的關(guān)系,而是相互的融合關(guān)系。
數(shù)據(jù)湖是近兩年中比較新的技術(shù)在大數(shù)據(jù)領(lǐng)域中,對(duì)于一個(gè)真正的數(shù)據(jù)湖應(yīng)該是什么樣子,現(xiàn)在對(duì)數(shù)據(jù)湖認(rèn)知還是處在探索的階段,像現(xiàn)在代表的開(kāi)源產(chǎn)品有iceberg、hudi、Delta Lake。
那對(duì)于數(shù)據(jù)湖應(yīng)該是什么樣子,先來(lái)看數(shù)據(jù)湖的作者AWS來(lái)說(shuō)明數(shù)據(jù)湖是什么東西,比如下圖:
圖片來(lái)源:談數(shù)據(jù)-探秘AWS數(shù)據(jù)湖
不懂?dāng)?shù)據(jù)的人也許會(huì)覺(jué)得數(shù)據(jù)湖很厲害,而懂?dāng)?shù)據(jù)的人也許會(huì)覺(jué)得僅是一堆數(shù)據(jù)倉(cāng)庫(kù)技術(shù)的堆砌包裝而已,你看上面那張框架圖,哪個(gè)專業(yè)詞匯數(shù)據(jù)人士會(huì)不懂?憑什么數(shù)據(jù)湖被炒作成了一個(gè)新概念?
而對(duì)于數(shù)據(jù)湖的定義則是:
數(shù)據(jù)湖是一個(gè)集中式存儲(chǔ)庫(kù),允許您以任意規(guī)模存儲(chǔ)所有結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。您可以按原樣存儲(chǔ)數(shù)據(jù)(無(wú)需先對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化處理),并運(yùn)行不同類型的分析 – 從控制面板和可視化到大數(shù)據(jù)處理、實(shí)時(shí)分析和機(jī)器學(xué)習(xí),以指導(dǎo)做出更好的決策。
那么數(shù)據(jù)湖和我們?cè)缦鹊臄?shù)據(jù)倉(cāng)庫(kù)究竟有什么樣的區(qū)別呢:
數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)優(yōu)化的數(shù)據(jù)庫(kù),用于分析來(lái)自事務(wù)系統(tǒng)和業(yè)務(wù)線應(yīng)用程序的關(guān)系數(shù)據(jù)。事先定義數(shù)據(jù)結(jié)構(gòu)和 Schema 以優(yōu)化快速 SQL 查詢,其中結(jié)果通常用于操作報(bào)告和分析。數(shù)據(jù)經(jīng)過(guò)了清理、豐富和轉(zhuǎn)換,因此可以充當(dāng)用戶可信任的“單一信息源”。
數(shù)據(jù)湖有所不同,因?yàn)樗鎯?chǔ)來(lái)自業(yè)務(wù)線應(yīng)用程序的關(guān)系數(shù)據(jù),以及來(lái)自移動(dòng)應(yīng)用程序、IoT 設(shè)備和社交媒體的非關(guān)系數(shù)據(jù)。捕獲數(shù)據(jù)時(shí),未定義數(shù)據(jù)結(jié)構(gòu)或 Schema。這意味著您可以存儲(chǔ)所有數(shù)據(jù),而不需要精心設(shè)計(jì)也無(wú)需知道將來(lái)您可能需要哪些問(wèn)題的答案。您可以對(duì)數(shù)據(jù)使用不同類型的分析(如 SQL 查詢、大數(shù)據(jù)分析、全文搜索、實(shí)時(shí)分析和機(jī)器學(xué)習(xí))來(lái)獲得見(jiàn)解。
從介紹來(lái)看好像數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖的最主要的區(qū)別就是對(duì)結(jié)構(gòu)化的數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ),但是真的僅僅是這樣嗎?
事實(shí)上,這種比較有較大邏輯漏洞:即是從結(jié)果出發(fā)來(lái)看差異,然后又用這個(gè)差異來(lái)說(shuō)明區(qū)別,顛倒了因果。比如AWS的數(shù)據(jù)湖能夠處理非結(jié)構(gòu)化數(shù)據(jù),而數(shù)據(jù)倉(cāng)庫(kù)無(wú)法處理非結(jié)構(gòu)化數(shù)據(jù),就認(rèn)為這是數(shù)據(jù)湖與數(shù)據(jù)倉(cāng)庫(kù)的本質(zhì)區(qū)別之一。
下面的文章中將來(lái)探索數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)究竟有什么樣的區(qū)別,學(xué)習(xí)一個(gè)新的事物要一步步的發(fā)現(xiàn)這個(gè)事物的本質(zhì)是什么。
數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖的處理流程可以用下圖來(lái)示意,其中用紅圈標(biāo)出了5個(gè)對(duì)標(biāo)的流程節(jié)點(diǎn)。
從圖中可以看出來(lái)數(shù)據(jù)湖并不比數(shù)據(jù)倉(cāng)庫(kù)在處理流程上多出了什么內(nèi)容,更多的在于結(jié)構(gòu)性的變化,下面就從數(shù)據(jù)存儲(chǔ)、模型設(shè)計(jì)、加工工具、開(kāi)發(fā)人員和消費(fèi)人員五個(gè)方面來(lái)進(jìn)行比較。
數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)倉(cāng)庫(kù)采集、處理過(guò)程中存儲(chǔ)下來(lái)的數(shù)據(jù)一般是以結(jié)構(gòu)化的形式存在的,即使原始數(shù)據(jù)是非結(jié)構(gòu)化的,但這些非結(jié)構(gòu)化數(shù)據(jù)也只是在源頭暫存一下,它通過(guò)結(jié)構(gòu)化數(shù)據(jù)的形式進(jìn)入數(shù)據(jù)倉(cāng)庫(kù),成了數(shù)據(jù)倉(cāng)庫(kù)的基本存儲(chǔ)格式,這個(gè)跟數(shù)據(jù)倉(cāng)庫(kù)的模型(維度或關(guān)系建模)都是建立在關(guān)系型數(shù)據(jù)基礎(chǔ)上的特點(diǎn)有關(guān)。
事實(shí)上,是傳統(tǒng)的數(shù)據(jù)建模負(fù)擔(dān)讓數(shù)據(jù)倉(cāng)庫(kù)只處理結(jié)構(gòu)化數(shù)據(jù),其實(shí)誰(shuí)都沒(méi)規(guī)定過(guò)數(shù)據(jù)倉(cāng)庫(kù)只處理和存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)。
數(shù)據(jù)湖包羅萬(wàn)象,輕裝上陣,結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)都成為了數(shù)據(jù)湖本身的一部分,這體現(xiàn)了數(shù)據(jù)湖中“湖”這個(gè)概念。因?yàn)闆](méi)有數(shù)據(jù)倉(cāng)庫(kù)建模的限制,當(dāng)然什么東西都可以往里面扔,但這為其變成數(shù)據(jù)沼澤埋下了伏筆。
模型設(shè)計(jì)
數(shù)據(jù)倉(cāng)庫(kù)中所有的Schema(比如表結(jié)構(gòu))都是預(yù)先設(shè)計(jì)并生成好的,數(shù)據(jù)倉(cāng)庫(kù)建設(shè)最重要的工作就是建模,其通過(guò)封裝好的、穩(wěn)定的模型對(duì)外提供有限的、標(biāo)準(zhǔn)化的數(shù)據(jù)服務(wù),模型能否設(shè)計(jì)的高內(nèi)聚、松耦合成了評(píng)估數(shù)據(jù)倉(cāng)庫(kù)好壞的一個(gè)標(biāo)準(zhǔn),就好比數(shù)據(jù)中臺(tái)非常強(qiáng)調(diào)數(shù)據(jù)服務(wù)的復(fù)用性一樣。
你會(huì)發(fā)現(xiàn),數(shù)據(jù)倉(cāng)庫(kù)很像數(shù)據(jù)領(lǐng)域的計(jì)劃經(jīng)濟(jì),所有的產(chǎn)品(模型)都是預(yù)先生成好的,模型可以變更,但相當(dāng)緩慢。
數(shù)據(jù)湖的模型不是預(yù)先生成的,而是隨著每個(gè)應(yīng)用的需要即時(shí)設(shè)計(jì)生成的,其更像是市場(chǎng)經(jīng)濟(jì)的產(chǎn)物,犧牲了復(fù)用性卻帶來(lái)了靈活性,這也是為什么數(shù)據(jù)湖的應(yīng)用更多強(qiáng)調(diào)探索分析的原因。
加工工具
數(shù)據(jù)倉(cāng)庫(kù)的采集、處理工具一般是比較封閉的,很多采取代碼的方式暴力實(shí)現(xiàn),大多只向集中的專業(yè)開(kāi)發(fā)人員開(kāi)放,主要的目的是實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一采集和建模,它不為消費(fèi)者(應(yīng)用方)服務(wù),也沒(méi)這個(gè)必要。
數(shù)據(jù)湖的采集和處理工具是完全開(kāi)放的,因?yàn)榈?2)點(diǎn)提到過(guò):數(shù)據(jù)湖的模型是由應(yīng)用即席設(shè)計(jì)生成的,意味著應(yīng)用必須具備針對(duì)數(shù)據(jù)湖數(shù)據(jù)的直接ETL能力和加工能力才能完成定制化模型的建設(shè),否則就沒(méi)有落地的可能,更無(wú)靈活性可言。
工具能否開(kāi)放、體驗(yàn)是否足夠好是數(shù)據(jù)湖能夠成功的一個(gè)前提,顯然傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)的一些采集和開(kāi)發(fā)工具是不行的,它們往往不可能向普通大眾開(kāi)放。
開(kāi)發(fā)人員
數(shù)據(jù)倉(cāng)庫(kù)集中開(kāi)發(fā)人員處理數(shù)據(jù)涵蓋了數(shù)據(jù)采集、存儲(chǔ)、加工等各個(gè)階段,其不僅要管理數(shù)據(jù)流,也要打造工具流。
由于數(shù)據(jù)流最終要為應(yīng)用服務(wù),因此其特別關(guān)注數(shù)據(jù)模型的質(zhì)量,而工具流只要具備基本的功能、滿足性能要求就可以了,反正是數(shù)據(jù)倉(cāng)庫(kù)團(tuán)隊(duì)人員自己用,導(dǎo)致的后果是害苦了運(yùn)營(yíng)人員。
數(shù)據(jù)湖完全不一樣,集中開(kāi)發(fā)人員在數(shù)據(jù)流階段只負(fù)責(zé)把原始數(shù)據(jù)扔到數(shù)據(jù)湖,更多的精力花在對(duì)工具流的改造上,因?yàn)檫@些工具是直接面向最終使用者的,假如不好用,數(shù)據(jù)湖就不能用了。
應(yīng)用人員
數(shù)據(jù)倉(cāng)庫(kù)對(duì)于應(yīng)用人員暴露的所有東西就是建好的數(shù)據(jù)模型,應(yīng)用方的所有角色只能在數(shù)據(jù)倉(cāng)庫(kù)限定好的數(shù)據(jù)模型范圍內(nèi)倒騰,這在一定程度上限制了應(yīng)用方的創(chuàng)新能力。比如原始數(shù)據(jù)有個(gè)字段很有價(jià)值,但數(shù)據(jù)倉(cāng)庫(kù)集中開(kāi)發(fā)人員卻把它過(guò)濾了。
這種問(wèn)題在數(shù)據(jù)倉(cāng)庫(kù)中很常見(jiàn),很多取數(shù)人員只會(huì)取寬表,對(duì)于源端數(shù)據(jù)完全不清楚,所謂成也數(shù)據(jù)倉(cāng)庫(kù),敗也數(shù)據(jù)倉(cāng)庫(kù)。
數(shù)據(jù)湖的應(yīng)用方則可以利用數(shù)據(jù)湖提供的工具流接觸到最生鮮的原始數(shù)據(jù),涵蓋了從數(shù)據(jù)采集、抽取、存儲(chǔ)、加工的各個(gè)階段,其可以基于對(duì)業(yè)務(wù)的理解,壓榨出原始數(shù)據(jù)的最大價(jià)值。
可以看到,數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖,代表著兩種數(shù)據(jù)處理模式和服務(wù)模式,是數(shù)據(jù)技術(shù)領(lǐng)域的一次輪回。
早在ORACLE的DBLINK時(shí)代,我們就有了第一代的數(shù)據(jù)湖,因?yàn)槟莻€(gè)時(shí)候ORACLE一統(tǒng)天下,ORALCE的DBLINK讓直接探索原始數(shù)據(jù)有了可能。
隨著數(shù)據(jù)量的增長(zhǎng)和數(shù)據(jù)類型的不斷豐富,我們不得不搞出一種新的“數(shù)據(jù)庫(kù)”來(lái)集成各種數(shù)據(jù)。
但那個(gè)時(shí)候搞出的為什么是數(shù)據(jù)倉(cāng)庫(kù)而不是數(shù)據(jù)湖呢?
主要還是應(yīng)用驅(qū)動(dòng)力的問(wèn)題。
因?yàn)槟莻€(gè)時(shí)候大家關(guān)注的是報(bào)表,而報(bào)表最核心的要求就是準(zhǔn)確性和一致性,標(biāo)準(zhǔn)化、規(guī)范化的維度和關(guān)系建模正好適應(yīng)了這一點(diǎn),集中化的數(shù)據(jù)倉(cāng)庫(kù)支撐模式就是一種變相的計(jì)劃經(jīng)濟(jì)。
隨著大數(shù)據(jù)時(shí)代到來(lái)和數(shù)字化的發(fā)展,很多企業(yè)發(fā)現(xiàn),原始數(shù)據(jù)的非結(jié)構(gòu)化比例越來(lái)越高,前端應(yīng)用響應(yīng)的要求越來(lái)越高,海量數(shù)據(jù)挖掘的要求越來(lái)越對(duì),報(bào)表取數(shù)已經(jīng)滿足不了數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)的要求了。
一方面企業(yè)需要深挖各種數(shù)據(jù),從展示數(shù)據(jù)為主(報(bào)表)逐步向挖掘數(shù)據(jù)(探索預(yù)測(cè))轉(zhuǎn)變,另一方面企業(yè)也需要從按部就班的支撐模式向快速靈活的方向轉(zhuǎn)變,要求數(shù)據(jù)倉(cāng)庫(kù)能夠開(kāi)放更多的靈活性給應(yīng)用方,這個(gè)時(shí)候數(shù)據(jù)倉(cāng)庫(kù)就有點(diǎn)撐不住了。
數(shù)據(jù)湖就是在這種背景下誕生的。
其實(shí)早在數(shù)據(jù)湖出來(lái)之前,很多企業(yè)就在做類似數(shù)據(jù)湖的工作了,但是只不過(guò)大家更多的集中在數(shù)據(jù)倉(cāng)庫(kù)結(jié)構(gòu)化的數(shù)據(jù)處理中,對(duì)于非結(jié)構(gòu)化的數(shù)據(jù)日志等更多的則是將其存儲(chǔ)起來(lái),對(duì)于需要的時(shí)候再通過(guò)應(yīng)用程序進(jìn)行處理獲取到自己想要的結(jié)果,只不過(guò)是沒(méi)有系統(tǒng)化的處理而已。
ETL之所以不開(kāi)放,主要是驅(qū)動(dòng)力不夠,其實(shí)我們沒(méi)有那么多類型的數(shù)據(jù)要定制化抽取。
很多企業(yè)不搞可視化開(kāi)發(fā)平臺(tái)也是容易理解的,報(bào)表就能活得很好,干嘛業(yè)務(wù)人員要自己開(kāi)發(fā)和挖掘?,F(xiàn)在數(shù)據(jù)湖叫的歡的,大多是互聯(lián)網(wǎng)公司,比如亞馬遜,這是很正常的。
而最近比較新的概念湖倉(cāng)一體,阿里提出的概念,下面這張圖來(lái)看一下
何謂湖倉(cāng)一體?
湖倉(cāng)一體是一種新的數(shù)據(jù)管理模式,將數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖兩者之間的差異進(jìn)行融合,并將數(shù)據(jù)倉(cāng)庫(kù)構(gòu)建在數(shù)據(jù)湖上,從而有效簡(jiǎn)化了企業(yè)數(shù)據(jù)的基礎(chǔ)架構(gòu),提升數(shù)據(jù)存儲(chǔ)彈性和質(zhì)量的同時(shí)還能降低成本,減小數(shù)據(jù)冗余。
湖和倉(cāng)的數(shù)據(jù)/元數(shù)據(jù)無(wú)縫打通,互相補(bǔ)充,數(shù)據(jù)倉(cāng)庫(kù)的模型反哺到數(shù)據(jù)湖(成為原始數(shù)據(jù)一部分),湖的結(jié)構(gòu)化應(yīng)用知識(shí)沉淀到數(shù)據(jù)倉(cāng)庫(kù)。
湖倉(cāng)一體架構(gòu)主要的一點(diǎn)是實(shí)現(xiàn)“湖里”和“倉(cāng)里”的數(shù)據(jù)能夠無(wú)縫打通,對(duì)數(shù)據(jù)倉(cāng)庫(kù)的彈性和數(shù)據(jù)湖的靈活性進(jìn)行有效集成,在該架構(gòu)中,主要將數(shù)據(jù)湖作為中央存儲(chǔ)庫(kù),將機(jī)器學(xué)習(xí)、數(shù)據(jù)倉(cāng)庫(kù)、日志分析、大數(shù)據(jù)等技術(shù)進(jìn)行整合,形成一套數(shù)據(jù)服務(wù)環(huán),更好地分析、整合數(shù)據(jù),讓數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖中的數(shù)據(jù)可以自由流動(dòng),用戶可以更便捷地調(diào)取其中的數(shù)據(jù),讓數(shù)據(jù)“入湖”、“出湖”更為便捷。
湖倉(cāng)一體化,是將數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖的價(jià)值進(jìn)行疊加,克服數(shù)據(jù)重力,讓數(shù)據(jù)在服務(wù)之間流動(dòng)起來(lái),減少重復(fù)建設(shè),讓湖中的數(shù)據(jù)可以”流到“數(shù)據(jù)倉(cāng)中,并能直接進(jìn)行數(shù)據(jù)調(diào)用;而數(shù)據(jù)倉(cāng)中的數(shù)據(jù)也可以保存于數(shù)據(jù)湖中,供未來(lái)數(shù)據(jù)挖掘使用。借助湖倉(cāng)一體化,可快速處理數(shù)倉(cāng)內(nèi)的熱數(shù)據(jù)與數(shù)據(jù)湖中的歷史數(shù)據(jù),并生成豐富的數(shù)據(jù)集,但無(wú)需在執(zhí)行中做任何數(shù)據(jù)移動(dòng)操作。
那數(shù)據(jù)湖究竟應(yīng)該是什么樣子,需要在接下來(lái)的發(fā)展中獲取到答案,但是以目前來(lái)看,典型的組織都需要數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖,因?yàn)樗鼈兛蓾M足不同的需求和使用訴求。所以數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)的存在并不沖突,也并不是取代的關(guān)系,而是相互的融合關(guān)系。
如何將ERP數(shù)據(jù)集成到數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)湖?
現(xiàn)在大家了解了數(shù)據(jù)湖與數(shù)據(jù)倉(cāng)庫(kù)的區(qū)別,以及湖倉(cāng)一體新的數(shù)據(jù)管理模式。那么如何將ERP系統(tǒng)數(shù)據(jù)實(shí)時(shí)并大批量地導(dǎo)出至數(shù)據(jù)湖、數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行商業(yè)分析?SNP Glue軟件應(yīng)運(yùn)而生,它旨在通過(guò)實(shí)施先進(jìn)的SAP數(shù)據(jù)集成,將客戶的數(shù)據(jù)平臺(tái)提升到一個(gè)新的水平。
Glue允許您將SAP數(shù)據(jù)如ERP(ECC 、S4/HANA)、BW、CRM/SCM、客戶ABAP應(yīng)用程序、HANA數(shù)據(jù)等引入數(shù)據(jù)倉(cāng)庫(kù),幫助您實(shí)現(xiàn)實(shí)時(shí)復(fù)制提取SAP數(shù)據(jù)并放入您所期待的目標(biāo)環(huán)境,無(wú)論是數(shù)據(jù)庫(kù)、數(shù)據(jù)湖、BI數(shù)據(jù)分析工具、或云解決方案。支持用例,將數(shù)據(jù)流實(shí)時(shí)傳輸?shù)綌?shù)據(jù)湖中以提供數(shù)據(jù)產(chǎn)品或支持基于事件的客戶應(yīng)用程序。SNP Glue避免了供應(yīng)商鎖定的風(fēng)險(xiǎn)。通過(guò)SAP、Google、Amazon、Microsoft、Snowflake和Cloudera認(rèn)證。
如想查看Glue如何將數(shù)據(jù)集成到數(shù)據(jù)平臺(tái)的Demo演示可以聯(lián)系SNP公司
審核編輯 黃宇
-
SAP
+關(guān)注
關(guān)注
1文章
385瀏覽量
21662 -
數(shù)據(jù)管理
+關(guān)注
關(guān)注
1文章
295瀏覽量
19624 -
數(shù)據(jù)倉(cāng)庫(kù)
+關(guān)注
關(guān)注
0文章
61瀏覽量
10448
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論