數(shù)據(jù)倉(cāng)庫(kù)工具箱-維度建模01

數(shù)據(jù)倉(cāng)庫(kù)、商業(yè)智能和維度建模

1.1數(shù)據(jù)獲取和數(shù)據(jù)分析的區(qū)別

信息兩個(gè)作用:操作型記錄的保存和分析型決策的制定。操作型系統(tǒng)保存數(shù)據(jù),DW/BI系統(tǒng)使用數(shù)據(jù)。操作型系統(tǒng)一般一次處理一個(gè)事務(wù)記錄。所以操作型系統(tǒng)通常不必維護(hù)歷史數(shù)據(jù),只需修改數(shù)據(jù)以反映最新的狀態(tài)。
為應(yīng)對(duì)更復(fù)雜的問題,DW/BI系統(tǒng)一般不會(huì)一次只處理一一個(gè)事務(wù),對(duì)此系統(tǒng)進(jìn)行優(yōu)化的目的是高性能的完成用戶的查詢。

1.2數(shù)據(jù)倉(cāng)庫(kù)和與商業(yè)智能的目標(biāo)

1.DW/BI系統(tǒng)要能方便的存取信息
2.DW/BI系統(tǒng)必須以一致的形式展現(xiàn)信息
3.DW/BI系統(tǒng)必須能夠適應(yīng)變化
4.DW/BI系統(tǒng)必須能夠及時(shí)展現(xiàn)信息
5.DW/BI系統(tǒng)必須成為保護(hù)信息財(cái)富的安全堡壘
6.DW/BI系統(tǒng)必須成為提高決策制定能力的權(quán)威和可信的基礎(chǔ)
7.DW/BI系統(tǒng)成功的標(biāo)志是業(yè)務(wù)群體接受DW/BI系統(tǒng)。

維度建模簡(jiǎn)介

維度建模是展現(xiàn)分析數(shù)據(jù)的首選技術(shù),主要由于:
1.以商業(yè)用戶可理解的形式發(fā)布數(shù)據(jù)
2.提供高效的查詢性能
數(shù)據(jù)庫(kù)中的3NF是為了消除冗余,規(guī)范化的3NF將數(shù)據(jù)劃分為不同實(shí)體,每個(gè)實(shí)體構(gòu)成一個(gè)關(guān)系表。實(shí)體-關(guān)系圖(E-R圖)表示了表間的交互關(guān)系。

星型模式與OLAP多維數(shù)據(jù)庫(kù)

在關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)中實(shí)現(xiàn)的維度模型稱為星型模式,因?yàn)槠浣Y(jié)構(gòu)類似星型結(jié)構(gòu),在多維度、數(shù)據(jù)庫(kù)環(huán)境中實(shí)現(xiàn)的維度模型通常稱為聯(lián)機(jī)分析處理(OnLine Analytical Processing)多維數(shù)據(jù)庫(kù)。
當(dāng)數(shù)據(jù)被加載到OLAP多維數(shù)據(jù)庫(kù)時(shí),性能聚焦或預(yù)計(jì)算匯總表通常由OLAP多維數(shù)據(jù)庫(kù)引擎建立并管理以實(shí)現(xiàn)高性能查詢。

用于度量的事實(shí)表

維度模型中的事實(shí)表存儲(chǔ)組織機(jī)構(gòu)業(yè)務(wù)過程事件的性能度量結(jié)果。事實(shí)表中的每行對(duì)應(yīng)一個(gè)度量事件,每行中的數(shù)據(jù)是一個(gè)特定級(jí)別的細(xì)節(jié)數(shù)據(jù),被稱為粒度。維度建模的核心原則之一是同一事實(shí)表中的所有度量行必須具有統(tǒng)一粒度。最實(shí)用的事實(shí)是數(shù)值類型和可加類型事實(shí)(銷售額),半可加(銷售余額),不可加(平均價(jià)格)。設(shè)計(jì)者應(yīng)當(dāng)盡最大可能將文本數(shù)據(jù)放入維度中,以減少空間的開銷。
所有事實(shí)表的粒度可以劃分為三類:事務(wù)、周期性快照、累積快照。一般事實(shí)表有兩個(gè)或多個(gè)外鍵與維度表的主鍵關(guān)聯(lián)。

用于描述環(huán)境的維度表

維度表是事實(shí)表不可或缺的組成部分。維度表包含與業(yè)務(wù)過程度量事件有關(guān)的文本環(huán)境。與事實(shí)表相比,維度表傾向于包含比較少的行,但是可能會(huì)存在多列或文本列。每個(gè)維度表由單一主鍵定義,用于在與事實(shí)表鏈接操作的過程中實(shí)現(xiàn)參照完整性的基礎(chǔ)。
維度屬性可以作為查詢約束、分組、報(bào)表標(biāo)識(shí)得主要來源。多數(shù)情況下,數(shù)據(jù)倉(cāng)庫(kù)的好壞直接取決于維度屬性的設(shè)置,DW/BI環(huán)境的分析能力直接取決于維度屬性的質(zhì)量和深度。
一個(gè)數(shù)字量到底是事實(shí)還是屬性,對(duì)于設(shè)計(jì)者來說是一個(gè)兩難的問題,很難做出決策,連續(xù)型數(shù)字基本可以認(rèn)為屬于事實(shí),來自于一個(gè)不太大的列表的離散數(shù)字可以確認(rèn)為維度屬性。
維度表通常以層次關(guān)系表示,為了方便使用和提高查詢性能。維度表不一定要滿足第三范式,通常是非規(guī)范化的,一個(gè)維度表中往往存在多對(duì)一的關(guān)系。

星型模型中維度與事實(shí)的連接

維度模型的每個(gè)業(yè)務(wù)過程包含事實(shí)表,事實(shí)表存儲(chǔ)事件的數(shù)值化度量,圍繞事實(shí)表的是多個(gè)維度表,維度表包含事件發(fā)生時(shí)實(shí)際存在的文本環(huán)境。這種類似星狀的結(jié)構(gòu)通常稱為星型連接。


image.png

維度模型首先要注意的是簡(jiǎn)單性和對(duì)稱性,簡(jiǎn)單性對(duì)業(yè)務(wù)用戶有利,便于理解和查詢,表數(shù)量的減少以及使用有實(shí)際意義的業(yè)務(wù)描述使表更容易被查詢,減少了錯(cuò)誤的發(fā)生。維度模型的簡(jiǎn)單性也帶來性能的好處,同時(shí)維度模型非常適用于變化。

Kimball的DW/BI架構(gòu)

image.png
操作型源系統(tǒng)

是記錄的操作型系統(tǒng),用于獲取業(yè)務(wù)事務(wù),幾乎不能控制這些系統(tǒng)中的數(shù)據(jù)格式和內(nèi)容,其關(guān)注的是處理性能和可用性??梢哉J(rèn)為源系統(tǒng)處于數(shù)據(jù)倉(cāng)庫(kù)之外。

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

ETL系統(tǒng)是處于操作型源系統(tǒng)與DW/BI展現(xiàn)系統(tǒng)之間的區(qū)域。
獲取是將數(shù)據(jù)從操作型系統(tǒng)導(dǎo)入數(shù)據(jù)倉(cāng)庫(kù)環(huán)境這一ETL過程的第一步,獲取意味著讀取并理解源數(shù)據(jù)并將需要的數(shù)據(jù)復(fù)制到ETL系統(tǒng)中以有利于后續(xù)的處理操作,從這點(diǎn)來看,數(shù)據(jù)屬于數(shù)據(jù)倉(cāng)庫(kù)。
數(shù)據(jù)獲取到ETL系統(tǒng)后,需要進(jìn)行多種轉(zhuǎn)換操作,比如清洗數(shù)據(jù)(消除拼寫錯(cuò)誤、解決領(lǐng)域沖突、處理錯(cuò)誤的元素、解析為標(biāo)準(zhǔn)格式),合并來自不同數(shù)據(jù)源的數(shù)據(jù),復(fù)制數(shù)據(jù)等。
ETL最后的步驟是實(shí)際構(gòu)建和加載數(shù)據(jù)到展現(xiàn)區(qū)域的目標(biāo)維度模型中。

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

DW/BI展現(xiàn)區(qū)用于組織、存儲(chǔ)數(shù)據(jù)、支持用戶、報(bào)表制作者以及其他BI應(yīng)用的查詢,關(guān)于展現(xiàn)區(qū)的建議:
1.展現(xiàn)區(qū)數(shù)據(jù)應(yīng)當(dāng)以維度模型來展現(xiàn),要么采用星型模式,要么采用OLAP多維數(shù)據(jù)庫(kù)。
2.必須包含詳細(xì)的原子數(shù)據(jù)。展現(xiàn)區(qū)中一定要包含最細(xì)粒度的數(shù)據(jù),以便用戶能夠獲取最準(zhǔn)確的查詢結(jié)果。由于用戶需求是是不可預(yù)知的,不斷變化的,因此需要提供各種細(xì)節(jié)數(shù)據(jù),方便用戶上卷下鉆以解決實(shí)際問題。
展現(xiàn)區(qū)的數(shù)據(jù)可以圍繞業(yè)務(wù)過程度量事件來構(gòu)建,采用這一方法可以自然的裁剪操作型源數(shù)據(jù)系統(tǒng)。
必須使用公共的、一致性的維度建立維度結(jié)構(gòu)。這是企業(yè)數(shù)據(jù)倉(cāng)庫(kù)總線結(jié)構(gòu)的基礎(chǔ),遵守總線結(jié)構(gòu)是對(duì)展現(xiàn)區(qū)的最后一個(gè)要求。如果沒有一種可共享的、一致性的維度,維度模型將稱為一種孤立的應(yīng)用,無法實(shí)現(xiàn)交互的、隔離的煙筒型數(shù)據(jù)集合將導(dǎo)致企業(yè)的不兼容視圖,是DW/BI系統(tǒng)的最大障礙。大企業(yè)的DW/BI環(huán)境中的展現(xiàn)區(qū)最終包含一系列維度模型,該維度模型由事實(shí)表和多個(gè)關(guān)聯(lián)的維度組成。
利用總線建立分布式DW/BI系統(tǒng)是成功的法寶。將總線結(jié)構(gòu)作為基本框架,可采用敏捷的、分散的、范圍合適的、迭代的方式建立企業(yè)數(shù)據(jù)倉(cāng)庫(kù)。


image.png

采用這種方法的企業(yè)通常允許業(yè)務(wù)用戶根據(jù)數(shù)據(jù)細(xì)節(jié)程度和數(shù)據(jù)可用性要求訪問EDW倉(cāng)庫(kù),然而,產(chǎn)生的ETL數(shù)據(jù)的發(fā)布過程包含下游的報(bào)表和分析環(huán)境以支持業(yè)務(wù)用戶。雖然也采用維度結(jié)構(gòu),但結(jié)果分析數(shù)據(jù)庫(kù)通常與Kimball架構(gòu)的展現(xiàn)存在差別,分析數(shù)據(jù)庫(kù)通常以部門為中心,如果部門重命名了或者做了其他類似計(jì)算,要將分析數(shù)據(jù)庫(kù)與EDW原子數(shù)據(jù)聯(lián)系起來將變得非常困難。


image.png

此處的EDW完全與分析和報(bào)表用戶隔離,展現(xiàn)區(qū)數(shù)據(jù)是維度的、原子的、以過程為中心的,與企業(yè)數(shù)據(jù)倉(cāng)庫(kù)總線結(jié)構(gòu)保持一致。
Kimball的敏捷性考慮:
1.關(guān)注發(fā)布業(yè)務(wù)價(jià)值
2.開發(fā)小組與業(yè)務(wù)相關(guān)方之間的值合作,類似敏捷小組。
3.強(qiáng)調(diào)與業(yè)務(wù)相關(guān)方開展面對(duì)面的溝通、反饋、優(yōu)化
4.以迭代、增量方式處理開發(fā)過程。
最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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