2、維度模型
維度模型的概念出自于數(shù)據(jù)倉庫領(lǐng)域,是數(shù)據(jù)倉庫建設(shè)中的一種數(shù)據(jù)建模方法。維度模型主要由事實(shí)表和維度表這兩個(gè)基本要素構(gòu)成。
事實(shí)表是維度模型的基本表,用于存放大度量值,術(shù)語“事實(shí)”代表了一個(gè)度量值。舉一個(gè)例子:查詢某個(gè)客戶在某個(gè)機(jī)構(gòu)下某個(gè)產(chǎn)品合約賬戶的某個(gè)幣種的某個(gè)時(shí)點(diǎn)余額,在各維度值(客戶、產(chǎn)品合約、賬戶、機(jī)構(gòu)、幣種、日期)的交點(diǎn)處就可以得到一個(gè)度量值。維度值的列表定義了事實(shí)表的粒度,同時(shí)又確定了度量值的取值范圍。
事實(shí)表的一行對應(yīng)一個(gè)度量值,事實(shí)表的所有度量值必須具有相同的粒度。而事實(shí)可能是半加性質(zhì)的,也可能是非加性質(zhì)的,半加性事實(shí)表示度量值可以沿著某些維度由子類維度向父類維度進(jìn)行聚合;非加性事實(shí)則完全不能相加,比如狀態(tài)事實(shí),對于這種非加性事實(shí),我們只能采用計(jì)數(shù)或者求平均值,或者打印出全部事實(shí)行的方法進(jìn)行分析。
所有事實(shí)表有兩個(gè)或者兩個(gè)以上的外關(guān)鍵字(如圖1.2中FK符號標(biāo)記的部分),外關(guān)鍵字用于連接到維度表的主關(guān)鍵字。例如,事實(shí)表中的“產(chǎn)品合約關(guān)鍵字”總是匹配產(chǎn)品合約這個(gè)維度表的一個(gè)特定“產(chǎn)品合約關(guān)鍵字”。如果事實(shí)表中的所有關(guān)鍵字都能分別與對應(yīng)維度表中的主關(guān)鍵字正確匹配,就可以說這些表滿足引用完整性的要求。事實(shí)表要通過與之相連的維度表進(jìn)行存取。
維度表是事實(shí)表不可分割的部分。如圖1.3所示,維度表包含有業(yè)務(wù)的文字描述。在一個(gè)設(shè)計(jì)合理的維度模型中,維度表會包含許多列或者屬性,我們稱之為維度屬性。對于維度表來說,包含50到100個(gè)維度屬性的情形并不少見。維度表傾向于將行數(shù)做得相當(dāng)少(通常少于100萬行),而將列數(shù)做得特別大。每個(gè)維度用單一的主關(guān)鍵字(如圖1.2中PK符號標(biāo)記的部分)進(jìn)行定義,主關(guān)鍵字是確保同一與之相連的任何事實(shí)表之間存在引用完整性的基礎(chǔ)。
維度表是進(jìn)入事實(shí)表的入口。豐富的維度屬性給出了豐富的分析切割能力。維度給用戶提供了使用數(shù)據(jù)倉庫的接口。最好的屬性是文本的和離散的。屬性應(yīng)該是真正的文字而不應(yīng)是一些編碼簡寫符號。應(yīng)該通過用更為詳細(xì)的文本屬性取代編碼,力求最大限度地減少編碼在維度表中的使用。
最后簡單說明下維度表和事實(shí)表的融合。二者的融合也就是“維度模型”,“維度模型”一般采用“星型模式”或者“雪花模式”,如圖1.4所示為“星型模式”,而“雪花模式”可以看作是“星型模式”的拓展,表現(xiàn)為在維度表中,某個(gè)維度屬性可能還存在更細(xì)粒度的屬性描述,即維度表的層級關(guān)系。
技術(shù)特點(diǎn)
OLAP技術(shù)非常多的特性,概括起來主要有如下幾點(diǎn)特性:OLAP技術(shù)是面向分析人員、管理人員的;OLAP技術(shù)對數(shù)據(jù)訪問通常是只讀的,并且一次訪問大量數(shù)據(jù);OLAP技術(shù)是面向主題的多維數(shù)據(jù)分析技術(shù)。
OLAP技術(shù)是面向分析人員、管理人員的
區(qū)別于OLTP面向操作人員,OLAP技術(shù)主要面向分析人員、管理人員,他是提供分析人員、管理人員快速又直觀的訪問數(shù)據(jù)的一種途徑。使分析人員、管理人員能直觀的從海量數(shù)據(jù)中獲得有用信息以提供決策依據(jù)。
OLAP技術(shù)對數(shù)據(jù)訪問通常是只讀的,并且一次訪問大量數(shù)據(jù)。
OLAP技術(shù)主要是針對海量數(shù)據(jù)的查詢,通常不對數(shù)據(jù)做修改。這種數(shù)據(jù)訪問有別于OLTP中不斷的對數(shù)據(jù)進(jìn)行增刪改操作。同時(shí)這種查詢不是簡單的記錄屬性的檢索,而是為了從海量數(shù)據(jù)中獲取有用信息的針對大量數(shù)據(jù)的查詢,通常一次需要查詢會涉及到上百萬條以上數(shù)據(jù)。
OLAP技術(shù)是面向主題的多維數(shù)據(jù)分析技術(shù)。
主題涉及業(yè)務(wù)流程的方方面面,是分析人員、管理人員進(jìn)行決策分析所關(guān)心的角度。分析人員、管理人員使用OLAP技術(shù),正是為了從多個(gè)角度觀察數(shù)據(jù),從不同的主題分析數(shù)據(jù),最終直觀的得到有效的信息。
主要技術(shù)實(shí)現(xiàn)方式
OLAP系統(tǒng)按照其存儲器的數(shù)據(jù)存儲格式可以分為關(guān)系OLAP(RelationalOLAP,簡稱ROLAP)、多維OLAP(MultidimensionalOLAP,簡稱MOLAP)和混合型OLAP(HybridOLAP,簡稱HOLAP)三種類型。
ROLAP:ROLAP將分析用的多維數(shù)據(jù)存儲在關(guān)系數(shù)據(jù)庫中并根據(jù)應(yīng)用的需要有選擇的定義一批實(shí)視圖作為表也存儲在關(guān)系數(shù)據(jù)庫中。不必要將每一個(gè)SQL查詢都作為實(shí)視圖保存,只定義那些應(yīng)用頻率比較高、計(jì)算工作量比較大的查詢作為實(shí)視圖。對每個(gè)針對OLAP服務(wù)器的查詢,優(yōu)先利用已經(jīng)計(jì)算好的實(shí)視圖來生成查詢結(jié)果以提高查詢效率。同時(shí)用作ROLAP存儲器的RDBMS也針對OLAP作相應(yīng)的優(yōu)化,比如并行存儲、并行查詢、并行數(shù)據(jù)管理、基于成本的查詢優(yōu)化、位圖索引、SQL的OLAP擴(kuò)展(cube,rollup)等等。
MOLAP:MOLAP將OLAP分析所用到的多維數(shù)據(jù)物理上存儲為多維數(shù)組的形式,形成“立方體”的結(jié)構(gòu)。維的屬性值被映射成多維數(shù)組的下標(biāo)值或下標(biāo)的范圍,而總結(jié)數(shù)據(jù)作為多維數(shù)組的值存儲在數(shù)組的單元中。由于MOLAP采用了新的存儲結(jié)構(gòu),從物理層實(shí)現(xiàn)起,因此又稱為物理OLAP(PhysicalOLAP);而ROLAP主要通過一些軟件工具或中間軟件實(shí)現(xiàn),物理層仍采用關(guān)系數(shù)據(jù)庫的存儲結(jié)構(gòu),因此稱為虛擬OLAP(VirtualOLAP)。
HOLAP:由于MOLAP和ROLAP有著各自的優(yōu)點(diǎn)和缺點(diǎn)(如下表所示),且它們的結(jié)構(gòu)迥然不同,給分析人員設(shè)計(jì)OLAP結(jié)構(gòu)提出了難題。為此一個(gè)新的OLAP結(jié)構(gòu)——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP兩種結(jié)構(gòu)的優(yōu)點(diǎn)結(jié)合起來。迄今為止,對HOLAP還沒有一個(gè)正式的定義。但很明顯,HOLAP結(jié)構(gòu)不應(yīng)該是MOLAP與ROLAP結(jié)構(gòu)的簡單組合,而是這兩種結(jié)構(gòu)技術(shù)優(yōu)點(diǎn)的有機(jī)結(jié)合,能滿足用戶各種復(fù)雜的分析請求。
評論