OLAP分類(lèi)的基本概念
OLAP有多種實(shí)現(xiàn)方法,根據(jù)存儲(chǔ)數(shù)據(jù)的方式不同可以分為ROLAP、MOLAP、HOLAP。
ROLAP:表示基于關(guān)系數(shù)據(jù)庫(kù)的OLAP實(shí)現(xiàn)(Relational OLAP)。以關(guān)系數(shù)據(jù)庫(kù)為核心,以關(guān)系型結(jié)構(gòu)進(jìn)行多維數(shù)據(jù)的表示和存儲(chǔ)。ROLAP將多維數(shù)據(jù)庫(kù)的多維結(jié)構(gòu)劃分為兩類(lèi)表:一類(lèi)是事實(shí)表,用來(lái)存儲(chǔ)數(shù)據(jù)和維關(guān)鍵字;另一類(lèi)是維表,即對(duì)每個(gè)維至少使用一個(gè)表來(lái)存放維的層次、成員類(lèi)別等維的描述信息。維表和事實(shí)表通過(guò)主關(guān)鍵字和外關(guān)鍵字聯(lián)系在一起,形成了“星型模式”。對(duì)于層次復(fù)雜的維,為避免冗余數(shù)據(jù)占用過(guò)大的存儲(chǔ)空間,可以使用多個(gè)表來(lái)描述,這種星型模式的擴(kuò)展稱(chēng)為“雪花模式”。ROLAP的最大好處是可以實(shí)時(shí)地從源數(shù)據(jù)中獲得最新數(shù)據(jù)更新,以保持?jǐn)?shù)據(jù)實(shí)時(shí)性,缺陷在于運(yùn)算效率比較低,用戶(hù)等待響應(yīng)時(shí)間比較長(zhǎng)。
MOLAP:表示基于多維數(shù)據(jù)組織的OLAP實(shí)現(xiàn)(Multidimensional OLAP)。以多維數(shù)據(jù)組織方式為核心,也就是說(shuō),MOLAP使用多維數(shù)組存儲(chǔ)數(shù)據(jù)。多維數(shù)據(jù)在存儲(chǔ)中將形成“數(shù)據(jù)立方體(Cube)”的結(jié)構(gòu),此結(jié)構(gòu)在得到高度優(yōu)化后,可以最大程度地提高查詢(xún)性能。隨著源數(shù)據(jù)的更改,MOLAP 存儲(chǔ)中的對(duì)象必須定期處理以合并這些更改。兩次處理之間的時(shí)間將構(gòu)成滯后時(shí)間,在此期間,OLAP對(duì)象中的數(shù)據(jù)可能無(wú)法與當(dāng)前源數(shù)據(jù)相匹配。維護(hù)人員可以對(duì) MOLAP 存儲(chǔ)中的對(duì)象進(jìn)行不中斷的增量更新。MOLAP的優(yōu)勢(shì)在于由于經(jīng)過(guò)了數(shù)據(jù)多維預(yù)處理,分析中數(shù)據(jù)運(yùn)算效率高,主要的缺陷在于數(shù)據(jù)更新有一定延滯。
HOLAP:表示基于混合數(shù)據(jù)組織的OLAP實(shí)現(xiàn)(Hybrid OLAP),用戶(hù)可以根據(jù)自己的業(yè)務(wù)需求,選擇哪些模型采用ROLAP,哪些采用MOLAP。一般來(lái)說(shuō),會(huì)將非常用或需要靈活定義的分析使用ROLAP方式,而常用、常規(guī)模型采用MOLAP實(shí)現(xiàn)。
Cubes:是數(shù)據(jù)立方體。何為數(shù)據(jù)立方體?這主要是和維度的概念一起理解,我們現(xiàn)實(shí)是分三維,x,y,z三個(gè)坐標(biāo)決定的空間。而數(shù)據(jù)庫(kù),可能會(huì)包含很多維度,只是在我們的認(rèn)知中無(wú)法想像超越三維的事物,這只是個(gè)概念。可見(jiàn),Cube是依賴(lài)于維度的。所以在我們建立Cube的時(shí)候,需要理解下面的Dimension是什么。
Dimensions:Cube的維度,每個(gè)Cube依賴(lài)哪些維度來(lái)做統(tǒng)計(jì),就需要在這里建。雖然在創(chuàng)建立方的時(shí)候會(huì)自動(dòng)幫我們創(chuàng)建維度,但是有時(shí)候他創(chuàng)建的維度并不能達(dá)到我們的目的。所以,我們先建Dimension,再建Cube。
Mining structures:數(shù)據(jù)挖掘用的東西,咱這里就不說(shuō)了,因?yàn)槲疫€沒(méi)用過(guò),只是看了下Webcast的視頻,里面介紹了集成了大量的現(xiàn)有挖掘算法,很方便的可以做出相應(yīng)的分析趨勢(shì)。 還是看似厲啊。
OLAP的基本操作
我們已經(jīng)知道OLAP的操作是以查詢(xún)——也就是數(shù)據(jù)庫(kù)的SELECT操作為主,但是查詢(xún)可以很復(fù)雜,比如基于關(guān)系數(shù)據(jù)庫(kù)的查詢(xún)可以多表關(guān)聯(lián),可以使用COUNT、SUM、AVG等聚合函數(shù)。OLAP正是基于多維模型定義了一些常見(jiàn)的面向分析的操作類(lèi)型是這些操作顯得更加直觀(guān)。
OLAP的多維分析操作包括:鉆取(Drill-down)、上卷(Roll-up)、切片(Slice)、切塊(Dice)以及旋轉(zhuǎn)(Pivot),下面還是以上面的數(shù)據(jù)立方體為例來(lái)逐一解釋下:
鉆取(Drill-down):在維的不同層次間的變化,從上層降到下一層,或者說(shuō)是將匯總數(shù)據(jù)拆分到更細(xì)節(jié)的數(shù)據(jù),比如通過(guò)對(duì)2010年第二季度的總銷(xiāo)售數(shù)據(jù)進(jìn)行鉆取來(lái)查看2010年第二季度4、5、6每個(gè)月的消費(fèi)數(shù)據(jù),如上圖;當(dāng)然也可以鉆取浙江省來(lái)查看杭州市、寧波市、溫州市……這些城市的銷(xiāo)售數(shù)據(jù)。
基本分析操作
OLAP允許用戶(hù)從多種角度分析多維數(shù)據(jù),主要包括以下五種基本操作:上卷(consolidation/roll-up)、下鉆(drill-down)、切片(slice)、切塊(dice)和旋轉(zhuǎn)(pivot)。
上卷(consolidation/Roll-up)
上卷表示沿著某一維度按照一定的規(guī)則(rule)對(duì)數(shù)據(jù)進(jìn)行聚合(aggregation)操作,沿著某一維度,即按照層級(jí)關(guān)系從子類(lèi)維度向父類(lèi)維度作聚合。
下鉆(Drill-down)
下鉆和上卷正好相反,允許用戶(hù)從已聚合的數(shù)據(jù)集中提取出所關(guān)注的細(xì)節(jié)。下圖表示了從“Outdoor-Schutzausrüstung”這個(gè)父類(lèi)維度中抽取出三個(gè)子類(lèi)維度的下鉆過(guò)程。
切片(Slice)
切片表示通過(guò)選擇某個(gè)維度的單一值(value),從OLAP cube中抽取出一個(gè)分片的過(guò)程。下圖表示了從原始OLAP cube中抽取出time = 2004分片的過(guò)程。
切塊(Dice)
切塊表示通過(guò)選擇多個(gè)維度的某些值(或者區(qū)間),從OLAP cube中抽取出子cube的過(guò)程。下圖表示了從原始OLAP cube中抽取某個(gè)維度中多值對(duì)應(yīng)的子cube的過(guò)程。
旋轉(zhuǎn)(pivot)
旋轉(zhuǎn)操作允許用戶(hù)通過(guò)旋轉(zhuǎn)(rotate)OLAP cube,重新選擇目標(biāo)分析維度,通常表現(xiàn)為交換坐標(biāo)軸操作。在下圖中,原始的OLAP cube的X軸是產(chǎn)品名稱(chēng),Y軸是地區(qū)名稱(chēng),Z軸是年份;經(jīng)過(guò)旋轉(zhuǎn)操作后cube表示了每個(gè)產(chǎn)品在不同年份、不同地區(qū)的統(tǒng)計(jì)情況。
評(píng)論
查看更多