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