OLAP(On-Line Analysis Processing)在線分析處理是一種共享多維信息的快速分析技術;OLAP利用多維數(shù)據(jù)庫技術使用戶從不同角度觀察數(shù)據(jù)尾菇;OLAP用于支持復雜的分析操作境析,側重于對管理人員的決策支持,可以滿足分析人員快速派诬、靈活地進行大數(shù)據(jù)復量的復雜查詢的要求劳淆,并且以一種直觀、易懂的形式呈現(xiàn)查詢結果默赂,輔助決策沛鸵。
上面是OLAP的一些不同的解釋,本文將從以下幾個方面介紹OLAP缆八。
開源OLAP引擎:Mondrian快速入門
OLAP的基本概念
OLAP的特點
OLAP的操作
OLAP的分類
二曲掰、 OLAP的基本概念
(1)變量(度量)
變量是數(shù)據(jù)度量的指標,是數(shù)據(jù)的實際意義奈辰,即描述數(shù)據(jù)“是什么”栏妖。像上面示例中的人數(shù)。
(2)維度
維度是描述與業(yè)務主題相關的一組屬性奖恰,單個屬性或屬性集合可以構成一個維吊趾。如上面示例中的學歷宛裕、民族、性別等都是維度论泛。
(3)維的層次
一個維往往可以具有多個層次续滋,例如時間維度分為年、季度孵奶、月和日等層次疲酌,地區(qū)維可以是國家、地區(qū)了袁、省朗恳、市等層次。這里的層次表示數(shù)據(jù)細化程度载绿,對應概念分層粥诫。后面介紹的上鉆操作就是由低層概念映射到高層概念。概念分層可除根據(jù)概念的全序和偏序關系確定外崭庸,還可以通過對數(shù)據(jù)進行離散化和分組實現(xiàn)怀浆。
(4)維的成員
若維是多層次的,則不同的層次的取值構成一個維成員怕享。部分維層次同樣可以構成維成員执赡,例如“某年某季度”、“某季某月”等都可以是時間維的成員函筋。
(5)多維數(shù)組
多維數(shù)組用維和度量的組合表示沙合。一個多維數(shù)組可以表示為(維1,維2跌帐,……首懈,維n,變量)谨敛,例如(部門究履,職系、民族脸狸、性別最仑,人數(shù))組成一個多維數(shù)組。
(6)數(shù)據(jù)單元(單元格)
多維數(shù)組的取值肥惭。當多維數(shù)組中每個維都有確定的取值時盯仪,就唯一確定一個變量的值。數(shù)據(jù)單元可以表示為(維1成員蜜葱,維2成員,……耀石,維N成員牵囤,變量的值)爸黄,例如(人事教育部,技能揭鳞,回族炕贵,男,1人)表示一個數(shù)據(jù)單元野崇,表示人事教育部職系是技能的回族男性有1人称开。
(7)事實
事實是不同維度在某一取值下的度量,例如上述人事教育部職系是技能的回族男性有1人就表示在部門乓梨、職系鳖轰、民族、性別四個維度上企業(yè)人數(shù)的事實度量扶镀,并且在為人數(shù)事實中包含部門維度人事教育部這一個維度層次蕴侣,如果將人數(shù)事實的所有維度考慮在內,就構成有關人數(shù)的多維分析立方體臭觉。
三昆雀、 OLAP的特點
電子數(shù)據(jù)表與OLAP相比,不具備OLAP的多維性蝠筑、層次狞膘、維度計算以及結構與視圖分離等特點。
快速什乙。終端用戶對于系統(tǒng)的快速響應有很高的要求客冈。調查表明如果用戶在30秒內得不到回應,就會變得不耐煩稳强。因此OLAP平臺彩用了多種技術提高響應速度场仲,例如專門的數(shù)據(jù)存儲格式、大量的預處理和特殊的硬件設計等退疫,通過減小在線分析處理的動態(tài)計算渠缕,事先存儲OLAP所需粒度的數(shù)據(jù)等主要手段來獲得OLAP響應速度的提高,盡管如此褒繁,查詢反應慢仍然是OLAP產(chǎn)品中經(jīng)常被提及的問題亦鳞。
可分析。用戶可以應用OLAP平臺分析數(shù)據(jù)棒坏,也可以使用其他外部分析工具燕差,例如電子數(shù)據(jù)表,這些分析工具基本上都以直觀的方式為用戶提供了分析功能坝冕。
共享徒探。由于人們認為OLAP是只讀的,僅需要簡單的安全管理喂窟,導致目前許多OLAP產(chǎn)品在安全共享方面還存在許多問題测暗。因此當多個用戶訪問OLAP服務器時央串,系統(tǒng)就在適當?shù)牧6壬霞渔i。
多維碗啄。維是OLAP的核心概念质和,多維性是OLAP的關鍵屬性,這與數(shù)據(jù)倉庫的多維數(shù)據(jù)組織正好相互補充稚字。為了使用戶能夠從多個維度饲宿、多個數(shù)據(jù)粒度查看數(shù)據(jù),了解數(shù)據(jù)蘊含的信息胆描,系統(tǒng)需要提供對數(shù)據(jù)的多維分析功能瘫想,包括切片、旋轉和鉆取等多種操作
四袄友、 OLAP的操作
OLAP比較常用的操作包括對多維數(shù)據(jù)的切片與切塊殿托、上鉆(drill-up)與下鉆(drill-down)以下旋轉(rotate)等。此外剧蚣,OLAP還能對多維數(shù)據(jù)進行深加工支竹。OALP的這些操作使用戶能夠從多個視角觀察數(shù)據(jù),并以圖形鸠按、報表等多種形式展示礼搁,從而獲取隱藏在數(shù)據(jù)中的信息。
(1)切片與切塊目尖。
選定多維數(shù)組的一個維成員做數(shù)據(jù)分割的操作稱為該維上的一個切片馒吴。通常把多維數(shù)組中選定一個二維子集的操作視為切片,假設選定的維i上的某個維成員Vi瑟曲,則此多維數(shù)組子集可以定義為(維V1……饮戳,維Vi,維N,變量)洞拨。當某維只取一個維成員時扯罐,便得到一個切片,而切塊則是某一維取值范圍下的多個切片的疊合烦衣。通過對數(shù)據(jù)立方體的切片或切塊分割歹河,可以從不同的視角得到各種數(shù)據(jù)。
(2)鉆取
鉆取包括上鉆和下鉆花吟。爭取能夠幫助用戶獲得更多的細節(jié)性數(shù)據(jù)秸歧,逐層的分析問題的所在和原因。
上鉆又稱為上卷(roll-up)衅澈。上鉆操作是指通過一個維的概念分層向上攀升或者通過維歸約在數(shù)據(jù)立方體上進行數(shù)據(jù)匯總键菱。例如在上面的示例中,可以按學歷匯總數(shù)據(jù)矾麻,如把各種學歷的都歸約為所有學歷纱耻,便可以得到沿學歷維上鉆的數(shù)據(jù)匯總芭梯。
下鉆是上鉆的逆操作险耀,通過對某一匯總數(shù)據(jù)進行維層次的細分(沿維的概念分層向下)分析數(shù)據(jù)弄喘。下鉆使用用戶對數(shù)據(jù)能夠獲得更深入的了解,更容易發(fā)現(xiàn)問題本質甩牺,從而做出正確的決策蘑志。
鉆取使用戶不會再被海量的數(shù)據(jù)搞得暈頭轉向:上鉆讓用戶站在更高層次觀察數(shù)據(jù),下鉆則可以細化到用戶所判決的詳細數(shù)據(jù)贬派。鉆取的嘗試與維度與維所劃分的層次相對應急但,根據(jù)用戶關心的數(shù)據(jù)粒度合理劃分。
(3)旋轉
旋轉又稱轉軸搞乏,是一種視圖操作波桩,通過旋轉變換一個報告或頁面顯示的維度方向,在表格中重新安排維的位置请敦,例如行列轉換镐躲。這種對立方體的重定位可以得到不同視角的信息。
(4)****其他OLAP****操作
除以上常用多維操作外侍筛,還有其他多維操作萤皂。
鉆過(drill-across****)。鉆過操作涉及多個事實表的查詢并把結果合并為單個數(shù)據(jù)集匣椰,一個典型的例子就是預測數(shù)據(jù)與當前數(shù)據(jù)的結合:通常預測數(shù)據(jù)與當前數(shù)據(jù)存在于不同的表中裆熙,當用戶比較預測銷售與當月銷售時,需要跨多個事實表查詢禽笑。
鉆透(drill-through****)入录。鉆透使用關系SQL,查詢數(shù)據(jù)立方體的底層,一直到后羰的關系表佳镜。
按處理方式分類
Server OLAP:絕大多數(shù)的OLAP系統(tǒng)都屬于此類邀杏,Server OLAP在服務端的數(shù)據(jù)庫上建立多維數(shù)據(jù)立方體贫奠,由服務端提供多維分析,并把最終結果呈現(xiàn)給用戶
Client OLAP:所相關立方體數(shù)據(jù)下載一本地望蜡,由本地為用戶提供多維分析唤崭,從而保證在網(wǎng)絡故障時仍然能正常工作。
按存儲方式分類
ROLAP脖律。ROLAP使用關系數(shù)據(jù)庫或擴充關系數(shù)據(jù)庫(XRDBMS)存儲管理數(shù)據(jù)倉庫谢肾,以關系表存儲多維數(shù)據(jù),有較強的可伸縮性小泉。其中維數(shù)據(jù)存儲在維表中芦疏,而事實數(shù)據(jù)和維ID則存儲在事實表中冕杠,維表和事實表通過主外鍵關聯(lián)。
MOLAP酸茴。MOLAP支持數(shù)據(jù)的多維視圖分预,采用多維數(shù)據(jù)組存儲數(shù)據(jù),它把維映射到多維數(shù)組的下標或下標的范圍薪捍,而事實數(shù)據(jù)存儲在數(shù)組單元中笼痹,從而實現(xiàn)了多維視圖到數(shù)組的映射,形成了立方體的結構酪穿。大容量的數(shù)據(jù)使立方體稀疏化凳干,此時需要稀疏矩陣壓縮技術處理,由于MOLAP是從物理上實現(xiàn)被济,故又稱為物理OLAP(Physical OLAP)救赐。
DOLAP。DOLAP是屬于單層架構只磷,它是基于桌面的客戶端OLAP经磅,主要特點是由服務器生成請求數(shù)據(jù)相關的立方體并下載到本地,由本地提供數(shù)據(jù)結構與報表格式重組喳瓣,為用戶提供多維分析馋贤,此時無需任何的網(wǎng)絡連接,靈活的存儲方式方便了移動用戶的需求畏陕,但支持數(shù)據(jù)有限配乓,使用范圍有限。