數(shù)據(jù)倉(cāng)庫(kù)inmon和kimkimball兩大派系之爭(zhēng)

????????網(wǎng)上已經(jīng)有很多關(guān)于數(shù)據(jù)倉(cāng)庫(kù)特征的介紹,這里就不再贅述。主要是梳理下數(shù)據(jù)倉(cāng)庫(kù)inmon和kimball兩大派系的特點(diǎn)。

kimball數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)

????????Kimball架構(gòu)是一種自下而上的架構(gòu),它認(rèn)為數(shù)據(jù)倉(cāng)庫(kù)是一系列數(shù)據(jù)集市的集合。企業(yè)可以通過(guò)一系列維數(shù)相同的數(shù)據(jù)集市遞增地構(gòu)建數(shù)據(jù)倉(cāng)庫(kù),通過(guò)使用一致的維度,能夠共同看到不同數(shù)據(jù)集市中的信息,這表示它們擁有公共定義的元素。

????????kimball將數(shù)據(jù)倉(cāng)庫(kù)劃分為4個(gè)不同組成部分,分別是:操作型源系統(tǒng)、ETL系統(tǒng)、數(shù)據(jù)展示和商業(yè)應(yīng)用,架構(gòu)圖如下:

圖-kimball組件圖

操作型源系統(tǒng)

????????記錄操作型系統(tǒng),用于獲取業(yè)務(wù)事務(wù)。源系統(tǒng)位于數(shù)據(jù)倉(cāng)庫(kù)之外,提供的數(shù)據(jù)倉(cāng)庫(kù)需要的基礎(chǔ)數(shù)據(jù),系統(tǒng)不能控制源系統(tǒng)數(shù)據(jù)格式和內(nèi)容。但源系統(tǒng)一般不維護(hù)歷史信息,數(shù)據(jù)倉(cāng)庫(kù)的責(zé)任是更好的承擔(dān)源系統(tǒng)過(guò)去情況的責(zé)任,并依據(jù)業(yè)務(wù)需求實(shí)現(xiàn)源系統(tǒng)數(shù)據(jù)不能實(shí)現(xiàn)廣泛的、無(wú)法預(yù)料的查詢(xún)方式查詢(xún)特點(diǎn)。

獲取-轉(zhuǎn)換-加載(ETL)系統(tǒng)

? ? ? ? ETL系統(tǒng)處于操作型源系統(tǒng)和數(shù)據(jù)倉(cāng)庫(kù)展現(xiàn)之間。ETL工作流程包括數(shù)據(jù)獲取、轉(zhuǎn)換和加載。

????????其中數(shù)據(jù)獲取是將數(shù)據(jù)從操作型系統(tǒng)導(dǎo)入數(shù)據(jù)倉(cāng)庫(kù)環(huán)境,讀取并理解數(shù)據(jù)將需要的數(shù)據(jù)復(fù)制到ETL系統(tǒng)進(jìn)行后續(xù)數(shù)據(jù)處理操作。

????????數(shù)據(jù)轉(zhuǎn)換是對(duì)讀取的操作型源系統(tǒng)數(shù)據(jù)進(jìn)行清洗數(shù)據(jù)(消除拼寫(xiě)錯(cuò)誤、處理錯(cuò)誤元素、解析規(guī)范數(shù)據(jù)標(biāo)準(zhǔn)格式)、合并來(lái)自不同數(shù)據(jù)源數(shù)據(jù)。數(shù)據(jù)通過(guò)ETL系統(tǒng)處理,增加數(shù)據(jù)利用價(jià)值,同時(shí)可以進(jìn)行元數(shù)據(jù)診斷,逐步改進(jìn)源系統(tǒng)數(shù)據(jù)質(zhì)量。

? ? ? ? 數(shù)據(jù)加載是將構(gòu)建處理完成的數(shù)據(jù)加載到展現(xiàn)區(qū)域的目標(biāo)緯度模型中。在數(shù)據(jù)加載過(guò)程中主要是劃分緯度和事實(shí),具體包括代理鍵分配、查找代碼以及提供適當(dāng)描述、拆分或組合列以提供適當(dāng)?shù)臄?shù)據(jù)值、連接滿足3NF數(shù)據(jù)表成為扁平的不滿足規(guī)范化要求。

支持商業(yè)智能決策展現(xiàn)區(qū)

????????展現(xiàn)區(qū)數(shù)據(jù)應(yīng)該以維度模型展現(xiàn),采用星型模式或OLAP多維數(shù)據(jù)庫(kù)。為滿足用戶(hù)無(wú)法預(yù)期的、隨意查詢(xún),必須使用原子數(shù)據(jù)。雖然在展現(xiàn)區(qū),為提高性能會(huì)存儲(chǔ)聚集數(shù)據(jù),但僅僅有這些匯總數(shù)據(jù)而沒(méi)有形成匯總數(shù)據(jù)的細(xì)粒度數(shù)據(jù),是不夠完整的。雖然用戶(hù)度某個(gè)訂單的單個(gè)目的查詢(xún)頻度較低,但可能會(huì)對(duì)上周、上個(gè)月訂單類(lèi)型查詢(xún),因此展現(xiàn)區(qū)一定要包含最細(xì)粒度數(shù)據(jù),方便用戶(hù)獲取得最準(zhǔn)確查詢(xún)結(jié)果,而用戶(hù)對(duì)需求是不可預(yù)知的、不斷變化的,提供各種細(xì)節(jié)數(shù)據(jù)方便用戶(hù)上卷解決實(shí)際問(wèn)題。

商業(yè)智能應(yīng)用

????????商業(yè)智能(Business Intelligence,BI)指用戶(hù)利用展現(xiàn)區(qū)制定分析決策能力。

輻射狀企業(yè)信息工廠inmon架構(gòu)

????????Bill Inmon提倡輻射狀企業(yè)信息工程(corporate information factory,CIF),下圖是簡(jiǎn)化版CIF。

圖-CIF簡(jiǎn)化版

????????在CIF環(huán)境下,數(shù)據(jù)從操作型數(shù)據(jù)源中獲取,在ETL系統(tǒng)中處理,這一過(guò)程叫數(shù)據(jù)獲取。這一過(guò)程獲取的原子數(shù)據(jù)保存在滿足3NF數(shù)據(jù)庫(kù)中。這種規(guī)范化、原子數(shù)據(jù)的倉(cāng)庫(kù)稱(chēng)為CIF架構(gòu)下企業(yè)數(shù)據(jù)倉(cāng)庫(kù)(EDW)。而規(guī)范化的數(shù)據(jù)要求是CIF中強(qiáng)制性的構(gòu)件。CIF提倡企業(yè)數(shù)據(jù)協(xié)調(diào)和集成,是使用規(guī)范化的EDW承擔(dān)這一角色。

????????inmon主張自上而下的架構(gòu),不同的OLTP數(shù)據(jù)集中到面向主題、集成的、不易失的和時(shí)間變化的結(jié)構(gòu)中,用于以后的分析,且數(shù)據(jù)可以通過(guò)下鉆到最細(xì)層,或者上卷到匯總層;數(shù)據(jù)集市應(yīng)該是數(shù)據(jù)倉(cāng)庫(kù)的子集,每個(gè)數(shù)據(jù)集市是針對(duì)獨(dú)立部門(mén)特殊設(shè)計(jì)的。inmon將數(shù)據(jù)倉(cāng)庫(kù)定義為整個(gè)企業(yè)級(jí)的集中存儲(chǔ)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)存放著最低的詳細(xì)級(jí)別的原子數(shù)據(jù)。維度數(shù)據(jù)集市只是在數(shù)據(jù)倉(cāng)庫(kù)完成以后才創(chuàng)建的。因此,數(shù)據(jù)倉(cāng)庫(kù)是企業(yè)信息工廠(CIF)的中心,它為交付商務(wù)智能提供邏輯框架。

數(shù)據(jù)獲取

????????獲取各種操作源系統(tǒng)數(shù)據(jù),按照3NF標(biāo)準(zhǔn)對(duì)獲取的數(shù)據(jù)進(jìn)行拆分,形成企業(yè)數(shù)據(jù)倉(cāng)庫(kù)中的規(guī)范表。

數(shù)據(jù)發(fā)布

????????針對(duì)不同主題,對(duì)企業(yè)數(shù)據(jù)倉(cāng)庫(kù)中的規(guī)范原子數(shù)據(jù)按照維度模型拆分,結(jié)合部門(mén)、主題場(chǎng)景對(duì)企業(yè)數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)進(jìn)行上卷到匯總層,提供BI應(yīng)用使用。企業(yè)數(shù)據(jù)倉(cāng)庫(kù)中保留的是原子數(shù)據(jù),BI應(yīng)用系統(tǒng)可以下鉆直接查詢(xún)?cè)訑?shù)據(jù)等細(xì)粒度數(shù)據(jù)。

兩大派系對(duì)優(yōu)缺點(diǎn)總結(jié)

????????Inmon的核心企業(yè)數(shù)據(jù)倉(cāng)庫(kù)要求規(guī)范化表,需要大量的時(shí)間來(lái)梳理和設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu),但如果規(guī)范化數(shù)據(jù)倉(cāng)庫(kù)一旦建立好了,則以后數(shù)據(jù)就更易于管理。而且由于開(kāi)發(fā)人員不能直接使用其中心數(shù)據(jù)庫(kù),更加確保了數(shù)據(jù)質(zhì)量,中心數(shù)據(jù)庫(kù)是采用規(guī)范化設(shè)計(jì)的,冗余情況也會(huì)更少。而維度建模數(shù)據(jù)倉(cāng)庫(kù)對(duì)數(shù)據(jù)表結(jié)構(gòu)沒(méi)有強(qiáng)規(guī)范型要求,數(shù)據(jù)倉(cāng)庫(kù)建設(shè)敏捷性就更好點(diǎn),而且適用于業(yè)務(wù)變化比較頻繁的情況,對(duì)開(kāi)發(fā)人員的要求也沒(méi)有規(guī)范化數(shù)據(jù)倉(cāng)庫(kù)那么高。


圖-inmon和kimball架構(gòu)比對(duì)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容