武俊琢
[摘要]詳細(xì)闡述不同的OLAP多維數(shù)據(jù)結(jié)構(gòu)和多維數(shù)據(jù)分析的動(dòng)作,針對(duì)OLAP的多維數(shù)據(jù)分析與數(shù)據(jù)倉(cāng)庫(kù)的多維數(shù)據(jù)組織形成相互結(jié)合、相互補(bǔ)充的關(guān)系進(jìn)行較為深入的探討。
[關(guān)鍵詞]數(shù)據(jù)倉(cāng)庫(kù)聯(lián)機(jī)分析處理多維數(shù)據(jù)分析
中圖分類(lèi)號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)1110077-01
一、引言
聯(lián)機(jī)分析處理(Online Analytical Processing,OLAP)的概念最早是由關(guān)系數(shù)據(jù)庫(kù)之父E.F.Codd于1993年提出的,OLAP是針對(duì)特定問(wèn)題的聯(lián)機(jī)數(shù)據(jù)訪(fǎng)問(wèn)和分析。通過(guò)對(duì)信息(維數(shù)據(jù))的多種可能的觀(guān)察形式進(jìn)行快速、穩(wěn)定一致和交互性的存取,允許管理決策人員對(duì)數(shù)據(jù)進(jìn)行深入地觀(guān)察。OLAP的目標(biāo)是滿(mǎn)足決策支持或多維環(huán)境特定的查詢(xún)和報(bào)表需求,它的技術(shù)核心是“維”這個(gè)概念,因此OLAP也可以說(shuō)是多維數(shù)據(jù)分析工具的集合。
二、OLAP的多維數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)在多維空間中的分布總是稀疏的、不均勻的。在事件發(fā)生的位置,數(shù)據(jù)聚合在一起,其密度很大。因此,OLAP系統(tǒng)的開(kāi)發(fā)者要設(shè)法解決多維數(shù)據(jù)空間的數(shù)據(jù)稀疏和數(shù)據(jù)聚合問(wèn)題。事實(shí)上,有許多方法可以構(gòu)造多維數(shù)據(jù)。
(一)超立方結(jié)構(gòu)。超立方結(jié)構(gòu)指用三維或更多的維數(shù)來(lái)描述一個(gè)對(duì)象,每個(gè)維彼此垂直。數(shù)據(jù)的測(cè)量值發(fā)生在維的交叉點(diǎn)上,數(shù)據(jù)空間的各個(gè)部分都有相同的維屬性。
這種結(jié)構(gòu)可應(yīng)用在多維數(shù)據(jù)庫(kù)和面向關(guān)系數(shù)據(jù)庫(kù)的OLAP系統(tǒng)中,其主要特點(diǎn)是簡(jiǎn)化終端用戶(hù)的操作。超立方結(jié)構(gòu)有一種變形,即收縮超立方結(jié)構(gòu)。這種結(jié)構(gòu)的數(shù)據(jù)密度更大,數(shù)據(jù)的維數(shù)更少,并可加入額外的分析維。
(二)多立方結(jié)構(gòu)。在多立方結(jié)構(gòu)中,將大的數(shù)據(jù)結(jié)構(gòu)分成多個(gè)多維結(jié)構(gòu)。這些多維結(jié)構(gòu)是大數(shù)據(jù)維數(shù)的子集,面向某一特定應(yīng)用對(duì)維進(jìn)行分割,即將超立方結(jié)構(gòu)變?yōu)樽恿⒎浇Y(jié)構(gòu)。它具有很強(qiáng)的靈活性,提高了數(shù)據(jù)的分析效率。
一般來(lái)說(shuō),多立方結(jié)構(gòu)靈活性較大,但超立方結(jié)構(gòu)更易于理解。超立方結(jié)構(gòu)可以提供高水平的報(bào)告和多維視圖。多立方結(jié)構(gòu)具有良好的視圖翻轉(zhuǎn)性和靈活性。多立方結(jié)構(gòu)是存儲(chǔ)稀疏矩陣的一個(gè)更有效方法,并能減少計(jì)算量。因此,復(fù)雜的系統(tǒng)及預(yù)先建立的通用應(yīng)用傾向于使用多立方結(jié)構(gòu),以使數(shù)據(jù)結(jié)構(gòu)能更好地得到調(diào)整,滿(mǎn)足常用的應(yīng)用需求。
許多產(chǎn)品結(jié)合了上述兩種結(jié)構(gòu),它們的數(shù)據(jù)物理結(jié)構(gòu)是多立方結(jié)構(gòu),但卻利用超立方結(jié)構(gòu)來(lái)進(jìn)行計(jì)算,結(jié)合了超立方結(jié)構(gòu)的簡(jiǎn)化性和多立方結(jié)構(gòu)的旋轉(zhuǎn)存儲(chǔ)特性。
三、OLAP的多維數(shù)據(jù)分析
多維數(shù)據(jù)分析是指對(duì)以多維形式組織起來(lái)的數(shù)據(jù)采取切片、切塊、旋轉(zhuǎn)和鉆取等各種分析動(dòng)作,以求剖析數(shù)據(jù),使最終用戶(hù)能從多個(gè)角度、多側(cè)面地觀(guān)察數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù),從而深入地了解包含在數(shù)據(jù)中的信息、內(nèi)涵。多維分析方式迎合了人們的思維模式,因:
(一)切片。定義1:在多維數(shù)組的某一維上選定一維成員的動(dòng)作成為切片,即在多維數(shù)組(維1、維2、....維n,變量)中選一維:維i,并取其一維成員(設(shè)為“維成員vi”),所得的多維數(shù)組的子集(維1,...維成員vi,...,維n,變量)稱(chēng)為在維i上的一個(gè)切片。
按照定義1,一次切片一定是原來(lái)的維數(shù)減1。所以,所得的切片并不一定是二維的“平面”,其維數(shù)取決于原來(lái)的多維數(shù)據(jù)的維數(shù),這樣的切片定義不通俗易懂。下面給出另一個(gè)比較直觀(guān)的定義。
定義2:選定多維數(shù)組的一個(gè)二維子集的動(dòng)作叫做切片,既選定多維數(shù)組(維1、維2、....維n,變量)中的兩個(gè)維:維i和維j,在這兩個(gè)維上取某一區(qū)間或者任意維成員,而將其余的維都取定一個(gè)維成員,則得到的就是多維數(shù)組在維i和維j上的一個(gè)二維子集,稱(chēng)這個(gè)二維子集為多維數(shù)組在維i和維j上的一個(gè)切片,表示為(維i和維j,變量)。
按照定義2,不管原來(lái)的維數(shù)有多少,數(shù)據(jù)切片的結(jié)果一定是一個(gè)二維的“平面”。從另一個(gè)角度來(lái)講,切片就是在某個(gè)或某些維上選定一個(gè)維成員,而在某兩個(gè)維上取一定區(qū)間的維成員或全部維成員。從定義2可知:
1.一個(gè)多維數(shù)組的切片最終是由該數(shù)組中除切片所在平面的兩個(gè)維之外的其它維的成員值確定的。
2.維是觀(guān)察數(shù)據(jù)的角度,那么切片的作用或結(jié)果就是舍棄一些觀(guān)察角度,使人們能在兩個(gè)維上來(lái)集中觀(guān)察數(shù)據(jù),因?yàn)槿说目臻g想象力有限,所以,對(duì)于維數(shù)較多的多維數(shù)據(jù)空間,進(jìn)行數(shù)據(jù)切片是十分有意義的。比照定義1,我們可以將切片的這兩個(gè)定義聯(lián)系起來(lái),對(duì)于一個(gè)n維數(shù)組,按定義1進(jìn)行的n-2切片的結(jié)果,就必定對(duì)應(yīng)于按定義2進(jìn)行的某一次切片的結(jié)果。
(二)切塊。定義1:在多維數(shù)組的某一維上選定某一區(qū)間的維成員的動(dòng)作稱(chēng)為切塊,即限制多維數(shù)組在某一維的取值區(qū)間。顯然,當(dāng)這一區(qū)間只取一個(gè)維成員時(shí),即得到一個(gè)切片。
定義2:選定多維數(shù)組的一個(gè)三維子集的動(dòng)作稱(chēng)為切塊,即選定多維數(shù)組(維1、維2、....維n,變量)中的三個(gè)維:維i、維j、維r,在這三個(gè)維上取某一區(qū)間或任意的維成員,而將其余的維都取定一個(gè)維成員,則得到的就是多維數(shù)組在維i、維j、維r上的三維子集,我們稱(chēng)這個(gè)三維子集為多維數(shù)組在維i、維j、維r上的一個(gè)切塊,表示為(維i、維j、維r,變量)。切塊與切片的作用與目的是相似的。
(三)旋轉(zhuǎn)。旋轉(zhuǎn)既是改變一個(gè)報(bào)告或者頁(yè)面的維方向。例如:旋轉(zhuǎn)可能包含了交換行與列;或是把某一個(gè)行維移到列維,或是把頁(yè)面顯示中的一個(gè)維和頁(yè)面外的維進(jìn)行交換(令其成為新的行或者列的一個(gè))。
(四)鉆取。
鉆取處理是使用戶(hù)在數(shù)據(jù)倉(cāng)庫(kù)的多層數(shù)據(jù)中,能夠通過(guò)導(dǎo)航信息而獲得更多的細(xì)節(jié)性數(shù)據(jù),鉆取一般是指向下鉆取。大多數(shù)的OLAP工具可以讓用戶(hù)鉆取至一個(gè)數(shù)據(jù)集中有更好細(xì)節(jié)描述的數(shù)據(jù)層,而更完整的工具可讓用戶(hù)隨處鉆取,即除一般往下鉆取外,隨處鉆取還包括向上鉆取和交叉鉆取。
(五)多視圖模式。人們發(fā)現(xiàn),獲取相同的信息,圖形顯示所帶來(lái)的直觀(guān)性有時(shí)是簡(jiǎn)單的數(shù)據(jù)表所無(wú)法提供的。一個(gè)OLAP系統(tǒng),應(yīng)當(dāng)采取多種不同的格式顯示數(shù)據(jù),使用戶(hù)能夠獲得最佳的觀(guān)察數(shù)據(jù)的視角。
四、結(jié)語(yǔ)
隨著數(shù)據(jù)倉(cāng)庫(kù)的發(fā)展,OLAP也得到了迅猛的發(fā)展。數(shù)據(jù)倉(cāng)庫(kù)側(cè)重于存儲(chǔ)和管理面向決策主題的數(shù)據(jù),而OLAP則側(cè)重于數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)分析,并將其轉(zhuǎn)換成輔助決策信息。OLAP的一個(gè)重要特點(diǎn)是多維數(shù)據(jù)分析,這與數(shù)據(jù)倉(cāng)庫(kù)的多維數(shù)據(jù)組織正好形成相互結(jié)合、相互補(bǔ)充的關(guān)系。將有助于我們解決數(shù)據(jù)處理中的復(fù)雜問(wèn)題。
參考文獻(xiàn):
[1]彭木根,數(shù)據(jù)倉(cāng)庫(kù)技術(shù)與實(shí)現(xiàn),電子工業(yè)出版社,2002.9.
[2]張維明,數(shù)據(jù)倉(cāng)庫(kù)原理與應(yīng)用,電子工業(yè)出版社,2000.2.
[3]薩師煊、王珊,數(shù)據(jù)庫(kù)系統(tǒng)概論,高等教育出版社,2005.