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:上卷 上卷操做是相對下鑽操做而言的,下鑽能夠看到更多更細節數據,所以上卷操做就是看到更少更綜合數據。所以,上卷操做也 分爲兩種,一是上捲到更高層次的數據,另外一種是減小維度。