Mondrian學習(1):瞭解Olap

版權聲明:如能幫到你,不勝榮幸ಠᴗಠ https://blog.csdn.net/Ryice/article/details/80109326

    前言:一直對大數據相關的東西比較感興趣,但是又沒有太多的時間系統學習,之前又一直在補JAVA的基礎知識(誰叫大學耍hi了,都學得不咋樣,所以欠下的都是要還的!!!)。這段時間負責的一個項目正好要用相關的技術,可以在公司明目張膽的給自己點技能樹了。    

    聯機實時分析(Olap,OnlineAnalytical Processing)是一種多維分析的解決方案。

    多維分析是一種數據分析的過程,在此過程中把數據分爲:維度(dimensions)和度量(measurements)。維度指描述空間中所有點的最少座標(我的理解就是分類比如描述今天可以是2018年4月27日),度量就是這些座標組合起來對用的具體點(比如2018年4月27日賣掉了4個蘋果,這4個蘋果就是這組數據對應的點)。

    一.數據立方體(Olap cube)

    

在這個三維的立方體中可以通過一種方式  F(季度,產品分類,銷售地)指向唯一的一個數據塊。

    二.維度模型

    維度模型概念出自於數據倉庫領域,是數據倉庫一種數據建模方法。維度模型主要由事實表和維度表兩個基本要素構成。

    事實表是維度模型的基本表,主要存放大度量值,術語“事實”代表了一個度量值,比如上方的四個蘋果 。但是這四個蘋果是在2018年4月27日下產生的。這個條件下規定了這個事實的粒度。事實表的一行可以確定一個度量值。如圖

    維度表是事實表不可分割的一部分,包含維度的所有信息,一個維度表可能會有很多列,我們稱之爲維度屬性。比如管理部二級機構 管理部辦公點。

    這樣就可以根據維度表進入事實表,根據需要的分析的條件進行切割。二者的結合變出現了星型模型擴展可以得到雪花模型 如圖

    星型模型:


    雪花模型:

   可以看出 雪花模式是在星型模式的基礎上再對維度表進行冗餘去除和規範化得到的模型圖,減少了空間的佔用。

    關於星型和雪花的孰優孰劣要在具體的項目中定奪,星型相對於聚集和數據抽取來說簡單,查詢速度更快(空間換時間)。但是冗餘了數據。 雪花模式正好相反。 

    三.基本分析操作

    Olap可以從多個角度分析數據,主要有五種基本分析:上卷,下鑽,切片,切塊,旋轉。

    1.上卷

    上卷沿着統一個維度向上聚合操作,比如 201701銷售4件,201702銷售5件,上卷後可以爲2017 銷售9件。 就是子維度向父維度聚合

    2.下鑽

    上卷和下鑽正好相反,是父維度向子維度。就是細分數據

    3.切片

    切片表示選擇某一個維度的值比如維度中有管理部 銀行 繳存人類型,只選擇管理部這個維度進行切片。

    4.切塊

    切塊可以是在切片的基礎上增加部分維度

    5.旋轉

    旋轉相當於是改變分析的基本維度,從另外一個角度進行分析。

這五個基本操作可以是相互交錯的,比如先切塊後再旋轉切片。總之就是最後得到需要看到的分析數據。

至此爲了學習mondrian的準備工作就做得差不多了,其實olap還有很多知識可以學習。

    四.Olap分類

    Olap按照存儲方式的不同可以分爲:Rolap,Molap,Holap

    1.Rolap表示基於關係數據庫的Olap的實現。以關係數據庫爲核心,以關係數據庫的結構進行多維數據表示和存儲,存儲方式就是上述的事實表和維度表。優點:可以實時的從源數據得到最新的數據,缺陷在於運行效率較低,用戶等待時間較長(可以優化)。我認爲最大的好處就是廠商改動較小,和在原來的基礎上直接升級,使用戶樂意接受,基於優化後等待時間絕大多數用戶是可以接受的。

    2.Molap表示基於多維數據的Olap的實現。以多維組織方式爲核心,Molap使用多維數組存儲數據。通過優化這樣的多維數組數據可以極快的得到結果但是相較於Rolap數據的同步和實時性難於保證因爲是基於預處理的數據

    3.Holap是前兩者的結合。但是開發難度比較大


    關鍵詞:olap,維度,度量,維度表,事實表,星型模式,雪花模式,上卷,下鑽,切片,切塊,旋轉


     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章