1. 程式人生 > >聯機分析處理ROLAP、MOLAP和HOLAP區別(轉)

聯機分析處理ROLAP、MOLAP和HOLAP區別(轉)

BE 屬性 工具 rolap oss 數據 裏的 目標 銷售

OLAP(on-Line Analysis Processing)是使分析人員、管理人員或執行人員能夠從多角度對信息進行快速、一致、交互地存取,從而獲得對數據的更深入了解的一類軟件技術。OLAP的目標是滿足決策支持或者滿足在多維環境下特定的查詢和報表需求,它的技術核心是"維"這個概念。

“維”(dimension)是人們觀察客觀世界的角度,是一種高層次的類型劃分。“維”一般包含著層次關系,這種層次關系有時會相當復雜。通過把一個實體的多項重要的屬性定義為多個維(dimension),使用戶能對不同維上的數據進行比較。因此OLAP也可以說是多維數據分析工具的集合。

OLAP的基本多維分析操作有鉆取(roll up和drill down)、切片(slice)和切塊(dice)、以及旋轉(pivot)、drill across、drill through等。

·鉆取是改變維的層次,變換分析的粒度。它包括向上鉆取(roll up)和向下鉆取(drill down)。roll up是在某一維上將低層次的細節數據概括到高層次的匯總數據,或者減少維數;而drill down則相反,它從匯總數據深入到細節數據進行觀察或增加新維。


·切片和切塊是在一部分維上選定值後,關心度量數據在剩余維上的分布。如果剩余的維只有兩個,則是切片;如果有三個,則是切塊。


·旋轉是變換維的方向,即在表格中重新安排維的放置(例如行列互換)。


OLAP有多種實現方法,根據存儲數據的方式不同可以分為ROLAP、MOLAP、HOLAP。

ROLAP表示基於關系數據庫的OLAP實現(Relational OLAP)。以關系數據庫為核心,以關系型結構進行多維數據的表示和存儲。ROLAP將多維數據庫的多維結構劃分為兩類表:一類是事實表,用來存儲數據和維關鍵字;另一類是維表,即對每個維至少使用一個表來存放維的層次、成員類別等維的描述信息。維表和事實表通過主關鍵字和外關鍵字聯系在一起,形成了"星型模式"。對於層次復雜的維,為避免冗余數據占用過大的存儲空間,可以使用多個表來描述,這種星型模式的擴展稱為"雪花模式"。特點是將細節數據保留在關系型數據庫的事實表中,聚合後的數據也保存在關系型的數據庫中。這種方式查詢效率最低,不推薦使用。

MOLAP表示基於多維數據組織的OLAP實現(Multidimensional OLAP)。以多維數據組織方式為核心,也就是說,MOLAP使用多維數組存儲數據。多維數據在存儲中將形成"立方塊(Cube)"的結構,在MOLAP中對"立方塊"的"旋轉"、"切塊"、"切片"是產生多維數據報表的主要技術。特點是將細節數據和聚合後的數據均保存在cube中,所以以空間換效率,查詢時效率高,但生成cube時需要大量的時間和空間。

HOLAP表示基於混合數據組織的OLAP實現(Hybrid OLAP)。如低層是關系型的,高層是多維矩陣型的。這種方式具有更好的靈活性。特點是將細節數據保留在關系型數據庫的事實表中,但是聚合後的數據保存在cube中,聚合時需要比ROLAP更多的時間,查詢效率比ROLAP高,但低於MOLAP。

還有其他的一些實現OLAP的方法,如提供一個專用的SQL Server,對某些存儲模式(如星型、雪片型)提供對SQL查詢的特殊支持。

OLAP工具是針對特定問題的聯機數據訪問與分析。它通過多維的方式對數據進行分析、查詢和報表。維是人們觀察數據的特定角度。例如,一個企業在考慮產品的銷售情況時,通常從時間、地區和產品的不同角度來深入觀察產品的銷售情況。這裏的時間、地區和產品就是維。而這些維的不同組合和所考察的度量指標構成的多維數組則是OLAP分析的基礎,可形式化表示為(維1,維2,……,維n,度量指標),如(地區、時間、產品、銷售額)。多維分析是指對以多維形式組織起來的數據采取切片(Slice)、切塊(Dice)、鉆取(Drill-down和Roll-up)、旋轉(Pivot)等各種分析動作,以求剖析數據,使用戶能從多個角度、
多側面地觀察數據庫中的數據,從而深入理解包含在數據中的信息。

根據綜合性數據的組織方式的不同,目前常見的OLAP主要有基於多維數據庫的MOLAP及基於關系數據庫的ROLAP兩種。MOLAP是以多維的方式組織和存儲數據,ROLAP則利用現有的關系數據庫技術來模擬多維數據。在數據倉庫應用中,OLAP應用一般是數據倉庫應用的前端工具,同時OLAP工具還可以同數據挖掘工具、統計分析工具配合使用,增強決策分析功能。

聯機分析處理ROLAP、MOLAP和HOLAP區別(轉)