聯機分析(OLAP)是由關係數據庫之父E.F.Codd於1993年提出的一種數據動態分析模型,它容許以一種稱爲多維數據集的多維結構訪問來自商業數據源的通過聚合和組織整理的數據。以此爲標準,OLAP做爲單獨的一類產品同聯機事務處理(OLTP)得以明顯區分。html
OLAP最基本的概念其實只有三個:多維觀察、數據鑽取、CUBE運算,除此之外,OLAP一般包括的功能包括數據旋轉、數據切片,以及對數據進行跨行列運算。數據庫
多維觀察數組
在平時工做中,會遇到各類問題,在分析問題的時候,一樣的現象,咱們會從多個角度去分析考慮,而且有時候咱們還會從幾個角度綜合起來進行分析。這就是OLAP分析最基本的概念:從多個觀察角度的靈活組合來觀察數據,從而發現數據內在規律。https://zhuanlan.zhihu.com/p/38767561服務器
數據鑽取性能
在分析過程當中,咱們可能須要在現有數據基礎上,將數據進一步細化,以得到更爲精確的認識。這就是OLAP中數據鑽取的概念。優化
CUBE運算spa
一個OLAP模型中,度量數據和維數據咱們應該實現肯定,一旦二者肯定下來,那麼咱們能夠對數據進行預先的處理,在正式發佈以前,將數據根據維進行最大限度的聚類運算,運算中會考慮到各類維組合狀況,運算結果將生成一個數據CUBE,並保存在服務器上。這樣,當最終用戶在調閱這個分析模型的時候,就能夠直接使用這個CUBE,在此基礎上根據用戶的維選擇和維組合進行復運算,從而達到實時響應的這麼一個效果。操作系統
OLAP系統按照其存儲器的數據存儲格式能夠分爲關係OLAP(RelationalOLAP,簡稱ROLAP)、多維OLAP(MultidimensionalOLAP,簡稱MOLAP)和混合型OLAP(HybridOLAP,簡稱HOLAP)三種類型。.net
圖片來自:https://zhuanlan.zhihu.com/p/38767561設計
ROLAP
ROLAP將分析用的多維數據存儲在關係數據庫中並根據應用的須要有選擇的定義一批實視圖做爲表也存儲在關係數據庫中。沒必要要將每個SQL查詢都做爲實視圖保存,只定義那些應用頻率比較高、計算工做量比較大的查詢做爲實視圖。
MOLAP
MOLAP將OLAP分析所用到的多維數據物理上存儲爲多維數組的形式,造成「立方體」的結構。維的屬性值被映射成多維數組的下標值或下標的範圍,而總結數據做爲多維數組的值存儲在數組的單元中。
HOLAP
因爲MOLAP和ROLAP有着各自的優勢和缺點(以下表所示),且它們的結構迥然不一樣,這給分析人員設計OLAP結構提出了難題。爲此一個新的OLAP結構——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP兩種結構的優勢結合起來。
這篇博客(圖表來自)裏面對不一樣的類型差別列了一個表格
|
優點 |
缺點 |
ROLAP |
沒有大小限制 |
通常比MDD響應速度慢 |
MOLAP |
性能好、響應速度快 |
增長系統複雜度,增長系統培訓與維護費用 |
HOLAP |
基於混合數據組織的OLAP實現,如低層是關係型的,高層是多維矩陣型的。這種方式具備更好的靈活。holap結構不該該是molap與rolap結構的簡單組合,而是這兩種結構技術優勢的有機結合,能知足用戶各類複雜的分析請求。 |
迄今爲止,對holap尚未一個正式的定義 |
參考:
http://www.javashuo.com/article/p-fsyjhcgh-be.html