首頁(yè) 區(qū)塊鏈 > 正文

數(shù)倉(cāng)掃盲篇:什么是數(shù)據(jù)倉(cāng)庫(kù)?

不少人可能接觸過(guò)數(shù)據(jù)倉(cāng)庫(kù)這一概念,那么,你是否了解數(shù)據(jù)倉(cāng)庫(kù)的定義和內(nèi)涵呢?這篇文章里,作者結(jié)合自己的語(yǔ)言,針對(duì)數(shù)據(jù)倉(cāng)庫(kù)的定義、作用和特征等維度進(jìn)行了總結(jié)分析,一起來(lái)看看吧,或許會(huì)對(duì)你有所啟發(fā)。

一、什么是數(shù)據(jù)倉(cāng)庫(kù)?

百度是這樣介紹的:


(資料圖片)

看起來(lái)有點(diǎn)抽象。

不管他,我們將數(shù)據(jù)倉(cāng)庫(kù)拆成“數(shù)據(jù)”+“倉(cāng)庫(kù)”,來(lái)理解。

繼續(xù)百度。

數(shù)據(jù):

倉(cāng)庫(kù):

再簡(jiǎn)單上個(gè)倉(cāng)庫(kù)圖,有畫面感了!

數(shù)據(jù)+倉(cāng)庫(kù),我們現(xiàn)在也可以粗暴的理解為“數(shù)據(jù)中轉(zhuǎn)站”

我們把倉(cāng)庫(kù)的描述進(jìn)行拆分,通過(guò)對(duì)比數(shù)據(jù)倉(cāng)庫(kù),來(lái)體會(huì)一下數(shù)據(jù)倉(cāng)庫(kù)是什么?

1)倉(cāng)庫(kù)的構(gòu)成:庫(kù)房、傳送設(shè)施、出入庫(kù)房的管道和設(shè)備、消防設(shè)施、管理用房

這里描述了貨物的存儲(chǔ),出入,管理環(huán)節(jié)的基礎(chǔ)設(shè)施。

那數(shù)據(jù)的存儲(chǔ),出入,管理環(huán)節(jié)同樣也需要基礎(chǔ)設(shè)施去支撐,數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)或者文件系統(tǒng)里,數(shù)據(jù)通過(guò)ETL工具在數(shù)據(jù)倉(cāng)庫(kù)里流轉(zhuǎn),通過(guò)API對(duì)外提供數(shù)據(jù),以及任務(wù)調(diào)度工具、節(jié)點(diǎn)管理工具去管理等。

2)按倉(cāng)庫(kù)存儲(chǔ)的物品形態(tài)分為:固體、液體、氣體、粉狀物品

固體有固體的存儲(chǔ)空間和方式,液體有液體的存儲(chǔ)空間和方式,同樣的氣體、粉狀物品都會(huì)有相應(yīng)的存儲(chǔ)方式。

數(shù)據(jù)也是一樣,結(jié)構(gòu)化數(shù)據(jù)可以存儲(chǔ)在結(jié)構(gòu)化的數(shù)據(jù)庫(kù),比如mysql,oracle等;文件等非結(jié)構(gòu)化數(shù)據(jù),也有相應(yīng)的數(shù)據(jù)庫(kù)去存儲(chǔ),比如HDFS,Hbase等。

3)按存儲(chǔ)物品性質(zhì)分為:原材料、半成本、成品

從加工的流程來(lái)看,物品在不同加工階段,有不同的展現(xiàn)形式,數(shù)據(jù)也是一樣,在原材料階段,稱為原始數(shù)據(jù);對(duì)原始數(shù)據(jù)進(jìn)行清洗,加工后,成為明細(xì)數(shù)據(jù);對(duì)明細(xì)數(shù)據(jù)進(jìn)行聚合,加工后,成為匯總數(shù)據(jù);最后產(chǎn)出可直接應(yīng)用的數(shù)據(jù),成為應(yīng)用數(shù)據(jù)。

4)按建筑形態(tài)分為:?jiǎn)螌觽}(cāng)庫(kù)、多層倉(cāng)庫(kù)、圓筒形倉(cāng)庫(kù)

對(duì)于存儲(chǔ)不同形態(tài)的的物品,存儲(chǔ)量不同,倉(cāng)庫(kù)也會(huì)有不同的建筑形態(tài)。數(shù)據(jù)倉(cāng)庫(kù)也是一樣,根據(jù)應(yīng)用場(chǎng)景,可以分為離線數(shù)倉(cāng),實(shí)時(shí)數(shù)倉(cāng),按照數(shù)據(jù)分層,可以分為貼源層,明細(xì)層,匯總層,應(yīng)用層。

倉(cāng)庫(kù)有了,貨物有了,還要考慮什么?

在現(xiàn)實(shí)生活中,每天都要存貨,找貨,出貨。如何合理的存儲(chǔ)貨物,快速的查找貨物,及時(shí)的把貨物運(yùn)出去才是倉(cāng)庫(kù)管理員最關(guān)心的。

數(shù)據(jù)也是如此,為了合理的存儲(chǔ)數(shù)據(jù),快速的使用數(shù)據(jù),橫向可對(duì)數(shù)據(jù)進(jìn)行主題的劃分,縱向可對(duì)數(shù)據(jù)進(jìn)行層級(jí)劃分(這里就不展開(kāi)介紹了)。

經(jīng)過(guò)以上對(duì)比介紹,大致就能理解數(shù)據(jù)倉(cāng)庫(kù)具體是干什么的了。

二、為什么需要數(shù)據(jù)倉(cāng)庫(kù)?

首先,數(shù)據(jù)倉(cāng)庫(kù)的典型用戶是數(shù)據(jù)分析人員,使用場(chǎng)景是決策場(chǎng)景,那么企業(yè)為什么需要數(shù)據(jù)倉(cāng)庫(kù),我們需要知道沒(méi)有數(shù)據(jù)倉(cāng)庫(kù)前,數(shù)據(jù)分析是什么樣的,就能知道為什么需要數(shù)據(jù)倉(cāng)庫(kù)?

這里需要先補(bǔ)充一下業(yè)務(wù)系統(tǒng)的范式模型是什么?

即指遵循3范式規(guī)則設(shè)計(jì)的表模型。

第①范式:列都是原子性的,即數(shù)據(jù)庫(kù)表的每一列都是不可分割的原子數(shù)據(jù)項(xiàng)(為了消除冗余和方便查詢,對(duì)數(shù)據(jù)拆分處理,主要是針對(duì)時(shí)間、地區(qū)等屬性)。

第②范式:在1范式基礎(chǔ)上,實(shí)體的屬性需要完全依賴于主鍵全部,不能存在僅依賴主鍵一部分的屬性(指不能只依賴聯(lián)合主鍵的其中一個(gè)屬性,只有一個(gè)主鍵可不考慮第2范式)。

第③范式:需要確保數(shù)據(jù)表中的每一列數(shù)據(jù)都和主鍵直接相關(guān),而不能間接相關(guān)(消除冗余,降低實(shí)體屬性和業(yè)務(wù)數(shù)據(jù)之間的影響)。

范式模型就像是異地戀,雙方不在一起,只能通過(guò)電話聯(lián)系,溝通效率不高,但是你也可以知道對(duì)方每天做了什么,吃了什么。但是范式模型是會(huì)關(guān)聯(lián)多個(gè)哈,是個(gè)海王。

在業(yè)務(wù)系統(tǒng)中,范式模型強(qiáng)調(diào)減少數(shù)據(jù)冗余、單純依賴關(guān)聯(lián)關(guān)系,主要應(yīng)用于在線事務(wù)系統(tǒng)。由于業(yè)務(wù)數(shù)據(jù)庫(kù)是實(shí)時(shí)記錄業(yè)務(wù)操作的,僅通過(guò)ID關(guān)聯(lián),在業(yè)務(wù)系統(tǒng)的各種實(shí)體屬性修改時(shí),不會(huì)牽扯到歷史數(shù)據(jù)的回溯;以及業(yè)務(wù)數(shù)據(jù)修改時(shí)候,不會(huì)影響各種實(shí)體屬性。

假設(shè)此時(shí)企業(yè)沒(méi)有建設(shè)數(shù)據(jù)倉(cāng)庫(kù)。這時(shí)候來(lái)了一個(gè)分析需求,要求統(tǒng)計(jì)企業(yè)每個(gè)工程項(xiàng)目的物料使用情況和人力成本情況。

那么可能會(huì)遇到以下幾個(gè)情況:

取數(shù)難:由于人資、物資、項(xiàng)目是三個(gè)子系統(tǒng),你就得想辦法去多個(gè)業(yè)務(wù)系統(tǒng)去搞生產(chǎn)數(shù)據(jù),能不能拿到,需不需要審批,數(shù)據(jù)安全都是要考慮的問(wèn)題。分析難:每個(gè)系統(tǒng)的開(kāi)發(fā)規(guī)則,規(guī)范程度、統(tǒng)計(jì)口徑都不一致。你還要去做數(shù)據(jù)關(guān)系映射,了解原業(yè)務(wù)系統(tǒng)的數(shù)據(jù)邏輯,廢了老大勁。分析慢:由于業(yè)務(wù)系統(tǒng)是遵循范式建模的,發(fā)現(xiàn)關(guān)聯(lián)了一堆表才能完成分析需求,分析時(shí)間長(zhǎng)不說(shuō),還可能會(huì)影響業(yè)務(wù)數(shù)據(jù)庫(kù)的穩(wěn)定。成本高:顯而易見(jiàn),在沒(méi)有數(shù)據(jù)統(tǒng)一處理的情況下,這種分析需求費(fèi)時(shí)費(fèi)力,如果有更多更復(fù)雜的分析需求,該怎么辦呢。

此時(shí)我們需要一個(gè)可以將各個(gè)業(yè)務(wù)系統(tǒng)數(shù)據(jù)集成起來(lái),面向業(yè)務(wù)數(shù)據(jù)分析的,統(tǒng)一規(guī)劃數(shù)據(jù)加工的規(guī)范,甚至是獨(dú)立的,不會(huì)影響業(yè)務(wù)系統(tǒng)的數(shù)據(jù)模型組織方式。

數(shù)據(jù)倉(cāng)庫(kù)就是這樣一種數(shù)據(jù)的組織方式,此處引出維度建模理論,那么維度模型是什么?

維度建模從分析決策的需求出發(fā)構(gòu)建模型,為分析需求服務(wù),因此它重點(diǎn)關(guān)注用戶如何更快速地完成需求分析,同時(shí)具有較好的大規(guī)模復(fù)雜查詢的響應(yīng)性能。其典型的代表是星形模型。(來(lái)源大數(shù)據(jù)之路)

維度模型強(qiáng)調(diào)面向業(yè)務(wù)分析決策需求,提高數(shù)據(jù)查詢的效率,可以減少關(guān)聯(lián),進(jìn)行維度冗余。由于維度模型的數(shù)據(jù)具有穩(wěn)定性,進(jìn)入數(shù)倉(cāng)的數(shù)據(jù),不會(huì)發(fā)生修改,且數(shù)據(jù)都有歷史記錄,所以不需要考慮事實(shí)和維度之間的變化會(huì)互相影響。

但是數(shù)據(jù)冗余在提高查詢效率的同時(shí),也會(huì)增加存儲(chǔ)成本。

維度模型就像是本地戀,恨不得天天膩在一起,去玩,去吃飯,相互之間了解的更多了,感情變好了,但是日?;ㄤN也變高了。

由以上問(wèn)題我們可以推導(dǎo)出數(shù)據(jù)倉(cāng)庫(kù)的作用,以及為什么需要數(shù)據(jù)倉(cāng)庫(kù)?

隔離業(yè)務(wù)數(shù)據(jù)。把散落在各個(gè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)集中起來(lái),集中處理。統(tǒng)一建模,沉淀數(shù)據(jù)處理的結(jié)果,降低重復(fù)加工。提高數(shù)據(jù)的使用/共享效率,為企業(yè)決策提 供數(shù)據(jù)依據(jù)。

三、數(shù)據(jù)倉(cāng)庫(kù)有什么特征?

結(jié)合前兩部分的介紹,我們總結(jié)一下數(shù)據(jù)倉(cāng)庫(kù)的特征:

面向業(yè)務(wù)的:根據(jù)業(yè)務(wù)過(guò)程對(duì)數(shù)據(jù)進(jìn)行劃分,讓數(shù)據(jù)合理的組織和存儲(chǔ),方便快速查找和使用數(shù)據(jù)。集成的:原始數(shù)據(jù)是從多個(gè)業(yè)務(wù)系統(tǒng)獲得,要將這些來(lái)源不同的原始數(shù)據(jù)整合到一個(gè)數(shù)據(jù)庫(kù)中統(tǒng)一處理。穩(wěn)定的:一旦進(jìn)入數(shù)據(jù)倉(cāng)庫(kù),就不允許被修改,一般的操作就是查詢、定期的加載。統(tǒng)一的:數(shù)據(jù)倉(cāng)庫(kù)可以對(duì)數(shù)據(jù)規(guī)范化、統(tǒng)一化處理,沉淀公共處理邏輯。

本文由 @成長(zhǎng)中的數(shù)據(jù)產(chǎn)品 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來(lái)自 Unsplash,基于 CC0 協(xié)議

關(guān)鍵詞:

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2023 創(chuàng)投網(wǎng) - www.mallikadua.com All rights reserved
聯(lián)系我們:39 60 29 14 2@qq.com
皖I(lǐng)CP備2022009963號(hào)-3