第四章:聯機分析處理olap

1:引言
 數據的處理主要分爲兩種:操做型數據處理和分析型數據處理,前者能夠稱爲oltp,後者能夠稱爲olap。
2:olap定義
 聯機分析處理的定義有如下幾種:
 olap是以海量數據爲基礎的複雜分析技術,支持各級管理決策人員從不一樣的角度,快速靈活地對數據倉庫中的數據進行復雜查詢
 和多維分析處理,而且能以直觀易懂的形式將查詢和分析結果提供給決策人員,從而輔助各級管理人員做出正確的決策。
3:olap的特色
 支持海量數據
 支持複雜查詢計算
 多維分析
 快速靈活
 支持決策
4:olap與oltp的區別
 olap與oltp是兩類不一樣的應用,oltp是對數據庫中數據的聯機查詢和增刪改操做,它以數據庫爲基礎;而olap適合以數據倉庫爲
 基礎的數據分析處理;
 olap中歷史的,導出的以及通過綜合提煉的數據主要來自於oltp所依賴的底層數據庫,olap數據較oltp數據須要多一步綜合處理
 或多維化操做。

 主要區別
 oltp:原始數據,細節性數據,當前數據,可更新,一次性處理的數據量小,面向應用,事務驅動,面向操做人員,支持平常操做
 olap:導出數據,綜合性或提煉性數據,歷史數據,不可更新,但週期進行追加或刷新,一次處理的數據量大,面向分析,分析驅
 動,面向決策人員,支持管理須要。
5:多維數據模型的概念
 a:定義
 多維數據模型是olap中的一項核心技術。
 多維數據模型是數據分析時用戶的數據視圖,是面向分析的數據模型,用於給分析人員提供多種觀察的視角和麪向分析的操做。
 多維數據模型的數據結構能夠用多維數組來表示,如:維度1,維度2...維度n。度量1,度量2...度量n
 多維數據模型也能夠用多維立方體來直觀展示,其中維表示用戶的觀察視角,多維空間中的點表示度量的值。
 b:經常使用術語
 1:維---維是人們觀察事物的特定角度,是事物的某個屬性,好比時間,地點,產品。每一個維都有惟一的名稱,好比時間維,地區
 維,產品維。
 2:維成員---維成員就是維的取值。若是一個維是多個層次的,那麼維成員就是不一樣層次上的取值的組合。好比,地區維,維成員
 就能夠是「北京」,「上海」「杭州」等;而日期維包括年,月,日三個層次,那麼它的爲成員就是「2018年12月3日」,但並非
 每一個層次上都有取值,好比「2018年8月」也能夠是維成員。
 3:維層---維是觀察事物的角度,維層就是這個角度的細節程度,不一樣的細節程度對應着不一樣的維層。好比,日期維,能夠從「年」
 這一細節程度去觀察,也能夠從「季度」「月份」去觀察,所以年,季度,月份等就是日期維的不一樣層次。層之間有必定的層次級別。
 4:維層次---維層次是維層的不一樣劃分。好比,日期維能夠按照「年-季度-月」劃分,也能夠按照「年-星期-日」劃分。兩種劃分規則
 就是日期維的兩個維層次。再好比產品維,能夠按照產品,類型,種類劃分,也能夠按照承銷商,代理商,製造商劃分。
 5:維屬性---就是維成員所具備的特性,維屬性能夠在每一個維成員上定義,也能夠在維層上定義。若是在維層上定義,那麼該維層
 上的全部維成員都有這些屬性,好比產品維的某一個成員「洗衣機」,他有一個洗滌重量的屬性,這就是維屬性。
 6:度量---度量就是要分析的目標或對象。常見的度量值有銷售量,供應量,利潤等。度量通常有名稱,數據類型,單位,計算公式
 等屬性。度量還能夠分爲可累計型和不可累計型。
 7:數據方體---多維數據模型的空間展示就是數據數據方體,也稱爲多維立方體。一個數據方體由多個維度和度量組成,n維立方體
 能夠看做是由一系列的n-1維立方體組成。
 8:數據單元---在一個數據立方體中,當每個維上都有肯定的維成員,那麼就能夠惟一肯定多維空間中的一個點。一個數據單元能夠
 有多個度量值,好比一個三維立方體,有三個維度:日期維,地區維,時間維,那麼2018-8-8,北京,冰箱,就能夠肯定一個數據單元
 這個數據單元上的度量值就能夠是利潤,銷售額,銷售數量等。
6:常見的多維數據模型
 常見的多維數據模型有星型模型,雪花模型,事實羣模型。
 1:星型模型
 星型模型是多維數據模型的基本結構,一般由位於中心的一張表和其周圍的多張表組成。中心的表叫作事實表,周圍的表叫作維度表。
 事實表是用來存儲事實的度量值和各類維度表的主碼值。維度表用來保存維的信息,即每一個維成員的屬性信息和層次信息。事實表
 經過維度表的主碼與各維度表相連。
 星型模型不支持維的層結構,每一個維只有一個維表。若是一個維表有多個維層,那麼全部的維層屬性都必須放在這一個維表裏面。
 所以就會由於沒有規範化而產生必定的冗餘。

 2:雪花模型
 雪花模型是在星型模型的基礎上發展而來的,每個維度再也不只有一張維度表,而是能夠有多張維度表。雪花模型和星型模型的主要
 區別在於:雪花模型會根據維層對維度表進行規範化。通過規範化的維表不只易於存儲,並且能節省空間,可是在查詢時就須要比較
 多的鏈接操做。所以,咱們在處理時,能夠將雪花模型和星型模型進行綜合,對於較小的維度表仍然使用星型模型的不規範形式,對
 於較大的維度表則使用雪花模型的規範形式。

 3:事實羣模型
 事實羣模型相似於星型模型,區別只是多張事實表之間能夠共享同一張維度表。
7:經常使用的分析操做  1:多維分析基礎---彙集函數  彙集就是對細節數據進行綜合的過程。  最經常使用的五中彙集函數:求和(sum),計數(count),最大值(max),最小值(min),平均值(avg),求中間值(median),  排序(rank);  2:切片:slice  就是在數據方體的某一維上選定一個維成員的動做,即限定多維數組某一維度只取一個特定值。  好比地區維,選定「北京」這一個維成員,這樣就獲得一個切片。  3:切塊:dice  就是在數據方體的某一維上選定某個區間的所有維成員的動做,即限定多維數組某一個維度只取必定區間的值。  好比地區維,選定「北京」「上海」「廣州」,這樣就獲得一個切塊。當這一區間只有一個維成員時,就獲得一個切片。所以  切塊能夠由多個切片操做疊合而成。  4:旋轉  改變數據方體維的次序的動做稱爲旋轉,旋轉操做對數據不作任何改變,只是改變立方體擺放的視角。  5:下鑽  下鑽操做就是在某個分析的過程當中,用戶可能須要從更多的維或者某個維的更細層次上觀察數據,這時候就須要經過下鑽操做  來實現。好比將日期維從季節層次下鑽到月份層次,下鑽前用戶只能看到季度數據,而下鑽後就能夠看到月份數據。  下鑽操做主要有兩種類型:一是現有的維下鑽取更細節一層的數據,好比日期維上的季度數據下鑽到月份數據          二是增長更多的維,好比如今只分析了三個維度的數據,可是問題仍然沒法解決,這時候就須要更多          維度的數據。  6:上卷  上卷操做是相對下鑽操做而言的,下鑽能夠看到更多更細節數據,所以上卷操做就是看到更少更綜合數據。所以,上卷操做也  分爲兩種,一是上捲到更高層次的數據,另外一種是減小維度。
相關文章
相關標籤/搜索