ROLAP、MOLAP和HOLAP聯(lián)機(jī)分析處理區(qū)別

摘要:本文總結(jié)了?ROLAP、MOLAP和HOLAP聯(lián)機(jī)分析處理區(qū)別,選自三篇不錯(cuò)的文章,希望可以幫到大家。
第一篇:
?OLAP(on-Line AnalysisProcessing)是使分析人員、管理人員或執(zhí)行人員能夠從多角度對信息進(jìn)行快速、一致、交互地存取,從而獲得對數(shù)據(jù)的更深入了解的一類軟件技術(shù)。聯(lián)機(jī)分析(OLAP)處理專門設(shè)計(jì)用于支持復(fù)雜的分析操作,側(cè)重對決策人員和高層管理人員的決策支持,可以應(yīng)分析人員要求快速、靈活地進(jìn)行大數(shù)據(jù)量的復(fù)雜查詢處理,并且以一種直觀易懂的形式將查詢結(jié)果提供決策人員。1993年,E.F.Codd 將這類技術(shù)定義為“OLAP”。鑒于Codd 關(guān)系數(shù)據(jù)庫之父的影響。OLAP 的提出引起了很大反響,OLAP作為一類產(chǎn)品同OLTP明顯區(qū)別開來。
Codd提出OLAP的12條準(zhǔn)則來描述OLAP系統(tǒng):
? ? * 準(zhǔn)則1 OLAP模型必須提供多維概念視圖
? ? * 準(zhǔn)則2 透明性準(zhǔn)則
? ? * 準(zhǔn)則3 存取能力推測
? ? * 準(zhǔn)則4 穩(wěn)定的報(bào)表能力
? ? * 準(zhǔn)則5 客戶/服務(wù)器體系結(jié)構(gòu)
? ? * 準(zhǔn)則6 維的等同性準(zhǔn)則
? ? * 準(zhǔn)則7 動(dòng)態(tài)的稀疏矩陣處理準(zhǔn)則
? ? * 準(zhǔn)則8 多用戶支持能力準(zhǔn)則
? ? * 準(zhǔn)則9 非受限的跨維操作
? ? * 準(zhǔn)則10 直觀的數(shù)據(jù)操縱
? ? * 準(zhǔn)則11 靈活的報(bào)表生成
? ? * 準(zhǔn)則12 不受限的維與聚集層次?
OLAP的目標(biāo)是滿足決策支持或者滿足在多維環(huán)境下特定的查詢和報(bào)表需求,它的技術(shù)核心是"維"這個(gè)概念。
?“維”(dimension)是人們觀察客觀世界的角度,是一種高層次的類型劃分。“維”一般包含著層次關(guān)系,這種層次關(guān)系有時(shí)會(huì)相當(dāng)復(fù)雜。通過把一個(gè)實(shí)體的多項(xiàng)重要的屬性定義為多個(gè)維(dimension),使用戶能對不同維上的數(shù)據(jù)進(jìn)行比較。因此OLAP也可以說是多維數(shù)據(jù)分析工具的集合。
OLAP的基本多維分析操作有鉆取(roll up和drill down)、切片(slice)和切塊(dice)、以及旋轉(zhuǎn)(pivot)、drill across、drill through等。
鉆取是改變維的層次,變換分析的粒度。它包括向上鉆取(roll up)和向下鉆取(drill down)。roll up是在某一維上將低層次的細(xì)節(jié)數(shù)據(jù)概括到高層次的匯總數(shù)據(jù),或者減少維數(shù);而drill down則相反,它從匯總數(shù)據(jù)深入到細(xì)節(jié)數(shù)據(jù)進(jìn)行觀察或增加新維。
切片和切塊是在一部分維上選定值后,關(guān)心度量數(shù)據(jù)在剩余維上的分布。如果剩余的維只有兩個(gè),則是切片;如果有三個(gè),則是切塊。
旋轉(zhuǎn)是變換維的方向,即在表格中重新安排維的放置(例如行列互換)。
OLAP有多種實(shí)現(xiàn)方法,根據(jù)存儲(chǔ)數(shù)據(jù)的方式不同可以分為ROLAP、MOLAP、HOLAP。
ROLAP表示基于關(guān)系數(shù)據(jù)庫的OLAP實(shí)現(xiàn)(Relational OLAP)。以關(guān)系數(shù)據(jù)庫為核心,以關(guān)系型結(jié)構(gòu)進(jìn)行多維數(shù)據(jù)的表示和存儲(chǔ)。ROLAP將多維數(shù)據(jù)庫的多維結(jié)構(gòu)劃分為兩類表:一類是事實(shí)表,用來存儲(chǔ)數(shù)據(jù)和維關(guān)鍵字;另一類是維表,即對每個(gè)維至少使用一個(gè)表來存放維的層次、成員類別等維的描述信息。維表和事實(shí)表通過主關(guān)鍵字和外關(guān)鍵字聯(lián)系在一起,形成了"星型模式"。對于層次復(fù)雜的維,為避免冗余數(shù)據(jù)占用過大的存儲(chǔ)空間,可以使用多個(gè)表來描述,這種星型模式的擴(kuò)展稱為"雪花模式"。特點(diǎn)是將細(xì)節(jié)數(shù)據(jù)保留在關(guān)系型數(shù)據(jù)庫的事實(shí)表中,聚合后的數(shù)據(jù)也保存在關(guān)系型的數(shù)據(jù)庫中。這種方式查詢效率最低,不推薦使用。
MOLAP表示基于多維數(shù)據(jù)組織的OLAP實(shí)現(xiàn)(Multidimensional OLAP)。以多維數(shù)據(jù)組織方式為核心,也就是說,MOLAP使用多維數(shù)組存儲(chǔ)數(shù)據(jù)。多維數(shù)據(jù)在存儲(chǔ)中將形成"立方塊(Cube)"的結(jié)構(gòu),在MOLAP中對"立方塊"的"旋轉(zhuǎn)"、"切塊"、"切片"是產(chǎn)生多維數(shù)據(jù)報(bào)表的主要技術(shù)。特點(diǎn)是將細(xì)節(jié)數(shù)據(jù)和聚合后的數(shù)據(jù)均保存在cube中,所以以空間換效率,查詢時(shí)效率高,但生成cube時(shí)需要大量的時(shí)間和空間。
HOLAP表示基于混合數(shù)據(jù)組織的OLAP實(shí)現(xiàn)(Hybrid OLAP)。如低層是關(guān)系型的,高層是多維矩陣型的。這種方式具有更好的靈活性。特點(diǎn)是將細(xì)節(jié)數(shù)據(jù)保留在關(guān)系型數(shù)據(jù)庫的事實(shí)表中,但是聚合后的數(shù)據(jù)保存在cube中,聚合時(shí)需要比ROLAP更多的時(shí)間,查詢效率比ROLAP高,但低于MOLAP。
還有其他的一些實(shí)現(xiàn)OLAP的方法,如提供一個(gè)專用的SQL Server,對某些存儲(chǔ)模式(如星型、雪片型)提供對SQL查詢的特殊支持。
OLAP工具是針對特定問題的聯(lián)機(jī)數(shù)據(jù)訪問與分析。它通過多維的方式對數(shù)據(jù)進(jìn)行分析、查詢和報(bào)表。維是人們觀察數(shù)據(jù)的特定角度。例如,一個(gè)企業(yè)在考慮產(chǎn)品的銷售情況時(shí),通常從時(shí)間、地區(qū)和產(chǎn)品的不同角度來深入觀察產(chǎn)品的銷售情況。這里的時(shí)間、地區(qū)和產(chǎn)品就是維。而這些維的不同組合和所考察的度量指標(biāo)構(gòu)成的多維數(shù)組則是OLAP分析的基礎(chǔ),可形式化表示為(維1,維2,……,維n,度量指標(biāo)),如(地區(qū)、時(shí)間、產(chǎn)品、銷售額)。多維分析是指對以多維形式組織起來的數(shù)據(jù)采取切片(Slice)、切塊(Dice)、鉆取(Drill-down和Roll-up)、旋轉(zhuǎn)(Pivot)等各種分析動(dòng)作,以求剖析數(shù)據(jù),使用戶能從多個(gè)角度、
多側(cè)面地觀察數(shù)據(jù)庫中的數(shù)據(jù),從而深入理解包含在數(shù)據(jù)中的信息。
根據(jù)綜合性數(shù)據(jù)的組織方式的不同,目前常見的OLAP主要有基于多維數(shù)據(jù)庫的MOLAP及基于關(guān)系數(shù)據(jù)庫的ROLAP兩種。MOLAP是以多維的方式組織和存儲(chǔ)數(shù)據(jù),ROLAP則利用現(xiàn)有的關(guān)系數(shù)據(jù)庫技術(shù)來模擬多維數(shù)據(jù)。在數(shù)據(jù)倉庫應(yīng)用中,OLAP應(yīng)用一般是數(shù)據(jù)倉庫應(yīng)用的前端工具,同時(shí)OLAP工具還可以同數(shù)據(jù)挖掘工具、統(tǒng)計(jì)分析工具配合使用,增強(qiáng)決策分析功能。? ? ?
第二篇:
ROLAP表示基于關(guān)系數(shù)據(jù)庫的OLAP實(shí)現(xiàn)(Relational OLAP)。以關(guān)系數(shù)據(jù)庫為核心,以關(guān)系型結(jié)構(gòu)進(jìn)行多維數(shù)據(jù)的表示和存儲(chǔ)。ROLAP將多維數(shù)據(jù)庫的多維結(jié)構(gòu)劃分為兩類表:一類是事實(shí)表,用來存儲(chǔ)數(shù)據(jù)和維關(guān)鍵字;另一類是維表,即對每個(gè)維至少使用一個(gè)表來存放維的層次、成員類別等維的描述信息。維表和事實(shí)表通過主關(guān)鍵字和外關(guān)鍵字聯(lián)系在一起,形成了“星型模式”。對于層次復(fù)雜的維,為避免冗余數(shù)據(jù)占用過大的存儲(chǔ)空間,可以使用多個(gè)表來描述,這種星型模式的擴(kuò)展稱為“雪花模式”。
MOLAP表示基于多維數(shù)據(jù)組織的OLAP實(shí)現(xiàn)(Multidimensional OLAP)。以多維數(shù)據(jù)組織方式為核心,也就是說,MOLAP使用多維數(shù)組存儲(chǔ)數(shù)據(jù)。多維數(shù)據(jù)在存儲(chǔ)中將形成“立方塊(Cube)”的結(jié)構(gòu),在MOLAP中對“立方塊”的“旋轉(zhuǎn)”、“切塊”、“切片”是產(chǎn)生多維數(shù)據(jù)報(bào)表的主要技術(shù)。
特性分析
?從技術(shù)角度來說,ROLAP(MSTR實(shí)現(xiàn))和MOLAP(Cognos等實(shí)現(xiàn))各有千秋。前者基于關(guān)系型數(shù)據(jù)庫,它的OLAP引擎就是將用戶的OLAP操作,如上鉆下鉆過濾合并等,轉(zhuǎn)換成SQL語句提交到數(shù)據(jù)庫中執(zhí)行,并且提供聚集導(dǎo)航功能,根據(jù)用戶操作的維度和度量將SQL查詢定位到最粗粒度的事實(shí)表上去。相比較而言,MOLAP事先將匯總數(shù)據(jù)計(jì)算好,存放在自己特定的多維數(shù)據(jù)庫中,用戶的OLAP操作可以直接映射到多維數(shù)據(jù)庫的訪問,不通過SQL訪問。可以說ROLAP提供了更大的靈活度,MOLAP提供了更加快速的相應(yīng)速度,確實(shí)相比Metacube和Cognos,前者的操作復(fù)雜些,不過這應(yīng)該不成問題,是可以改善的。
?針對OLAP多維分析的應(yīng)用,雖然多維數(shù)據(jù)庫效率較高,但是帶來的問題是,數(shù)據(jù)裝載的效率非常低,因?yàn)槠鋵?shí)就是將多維的數(shù)據(jù)預(yù)先填好,這樣出報(bào)表的效率高了,裝載就復(fù)雜許多了,而且倉庫重新構(gòu)造后,全部數(shù)據(jù)都要重新裝載,并且隨著數(shù)據(jù)量增量過大維護(hù)成本較高,容易引起“數(shù)據(jù)爆炸”,這是molap的大體特性。rolap就是關(guān)系性數(shù)據(jù)庫,但是針對多維報(bào)表,可以通過事實(shí)表連維表的方式來構(gòu)造,對于數(shù)據(jù)庫性能要求比較高,各個(gè)rolap廠家針對數(shù)據(jù)倉庫應(yīng)用,建立索引等優(yōu)化措施以減少生成報(bào)表的開銷,倉庫調(diào)整后,除非特別大的調(diào)整,同常都不需要重新裝載全部數(shù)據(jù)。
?第三篇:
ROLAP?中的r是relational的意思,使用關(guān)系數(shù)據(jù)庫RDBMS,所以性能的更多是靠RDBMS的性能和技巧,ROLAP支持更多的用戶和數(shù)據(jù)量,ROLAP將多維數(shù)據(jù)庫的多維結(jié)構(gòu)劃分為兩類表:一類是事實(shí)表,用來存儲(chǔ)數(shù)據(jù)和維關(guān)鍵字(外鍵);另一類是維表,每個(gè)維至少使用一個(gè)表來存放維的層次,所謂的'"星型模式"就是指維表和事實(shí)表通過主關(guān)鍵字和外關(guān)鍵字聯(lián)系在一起。對于層次復(fù)雜的維,為避免冗余數(shù)據(jù)占用過大的存儲(chǔ)空間,可以使用多個(gè)表來描述,這種星型模式的擴(kuò)展稱為"雪花模式"。如果你對星型模型和雪花模型有興趣的話,也可以到http://mondrian.pentaho.org/documentation/aggregate_tables.php 看看。
MLOAP中的M是指multidimensional 多維的意思,它使用一種預(yù)先設(shè)計(jì)和計(jì)算過cube,所以數(shù)據(jù)處理的速度要快的多.
ROLAP和MOLAP的比較:
rolap使用現(xiàn)有的RDBMS,相對容易建模和控制。相應(yīng)速度比MOLAP慢,數(shù)據(jù)裝載的速度快,儲(chǔ)存空間小,沒有文件大小的限制,數(shù)據(jù)庫可以做很多優(yōu)化.
molap性能好,反映速度快,但是建模的難度很大,而且無法支持維度的動(dòng)態(tài)變化,文件大小有限制,沒有象關(guān)系型數(shù)據(jù)庫那樣有標(biāo)準(zhǔn)的訪問接口比如JDBC,ODBC之類的。
ROLAP(relational OLAP),細(xì)節(jié)數(shù)據(jù)、聚合后的數(shù)據(jù)都保存在關(guān)系型的數(shù)據(jù)庫中。這種方式查詢效率最低,但是如果數(shù)據(jù)量比較小的話,用這種方法未嘗不可。
MOLAP(multidimensional OLAP),將細(xì)節(jié)數(shù)據(jù)和聚合后的數(shù)據(jù)均保存在cube中,在查詢性能上就有很大提高,問題就是會(huì)占用很大的空間,說白了,就是用空間換時(shí)間。
HOLAP 是混合OLAP,細(xì)節(jié)數(shù)據(jù)保留在關(guān)系型數(shù)據(jù)庫的事實(shí)表中,但是聚合后的數(shù)據(jù)保存在cube中。
以上三種方式,具體情況具體利用.
記得2000年的時(shí)候,在QiDSS中使用的是ROLAP技術(shù)。到2003年,全國上下的BI系統(tǒng)幾乎都采用MOLAP技術(shù),這是一個(gè)很值得思考的現(xiàn)象。表面上看,由于工具廠商市場份額的變化,對產(chǎn)品推廣力度不夠。在QiDSS中,使用Metacube作為OLAP Server,但是就在那個(gè)時(shí)候,它已經(jīng)宣稱不再升級甚至不再提供支持了,當(dāng)時(shí)業(yè)界提供純ROLAP產(chǎn)品的廠商已經(jīng)不多,現(xiàn)在Microstrategy公司依然存在,而且據(jù)說在國內(nèi)有幾個(gè)客戶,很早了解他們就是因?yàn)樗荝OLAP產(chǎn)品提供商,不過對它們現(xiàn)在的產(chǎn)品線已經(jīng)不清楚了。
更深一層看,為什么ROLAP產(chǎn)品生存空間不大,必定和用戶的需求有關(guān)系。用戶需要的不是產(chǎn)品,而是在線分析的功能,其中重要的一點(diǎn)就是分析響應(yīng)速度。
這一點(diǎn)還是MOLAP占了上風(fēng)。從技術(shù)角度來說,ROLAP和MOLAP各有千秋。前者基于關(guān)系型數(shù)據(jù)庫,它的OLAP引擎就是將用戶的OLAP操作,如上鉆下鉆過濾等,轉(zhuǎn)換成SQL語句提交到數(shù)據(jù)庫中執(zhí)行,并且提供聚集導(dǎo)航功能,根據(jù)用戶操作的維度和度量將SQL查詢定位到最粗粒度的事實(shí)表上去。相比較而言,MOLAP事先將匯總數(shù)據(jù)計(jì)算好,存放在自己特定的多維數(shù)據(jù)庫中,用戶的OLAP操作可以直接映射到多維數(shù)據(jù)庫的訪問,無需通過SQL訪問。可以說ROLAP提供了更大的靈活度,但可能正是這種靈活度,造成對用戶使用的不友好印象,確實(shí)相比Metacube和Cognos,前者的操作復(fù)雜多了,不過這應(yīng)該不成問題,是可以改善的。
性能的問題卻不是非常容易解決的,關(guān)鍵還不在是聚集表快還是多維數(shù)據(jù)庫快。從體系架構(gòu)上說,采用MOLAP使得OLAP應(yīng)用和數(shù)據(jù)倉庫分離開,降低了耦合度,這種架構(gòu)是比較理想的,可以讓不同部件專門干自己的事,付出的代價(jià)主要是ETL的復(fù)雜度。而ROLAP技術(shù)直接依賴數(shù)據(jù)倉庫,與之緊密結(jié)合,OLAP的性能很大程度上依賴數(shù)據(jù)倉庫模式設(shè)計(jì),這一點(diǎn)不是總是被保證的。
參考
原文地址:http://wezly.iteye.com/blog/899049、http://www.iteye.com/topic/87137
英文資料:http://social.technet.microsoft.com/wiki/contents/articles/19898.differences-between-olap-rolap-molap-and-holap.aspx
專注大數(shù)據(jù)技術(shù)、架構(gòu)、實(shí)戰(zhàn)
關(guān)注我,帶你不同角度看數(shù)據(jù)架構(gòu)
