OLAP和BI是日常工作中比較熟悉的了,也是經常會接觸到的,這裏總結下。
這裏先説一個概念:數據立方體
我們分析一堆數據報告時候通常這些數據報告採用二維表示,是行與列組成的二維表格。但在我們分析數據的角度很可能有多個,數據立方體可以理解為就是維度擴展後的二維表格。但更多時候數據立方體是多維的,如下圖數據立方體:
數據立方體中常規的五大操作:切片,切塊,旋轉,上卷,下鑽
1. 切片和切塊(Slice and Dice)
在數據立方體的某一維度上選定一個維成員的操作叫切片,而對兩個或多個維執行選擇則叫做切塊。
切片:我選擇了2011 2012 2013年份 北京 上海 廣州地區的鞋子銷量
切塊:我選擇了2011 2012 2013年份 北京 上海 廣州地區的鞋子和褲子銷量
2. 旋轉(Pivot)
旋轉就是指改變報表或頁面的展示方向。對於使用者來説,就是個視圖操作。拿上圖舉例就是把X軸和Z軸替換一下。
3. 上卷和下鑽
上卷可以理解為"無視"某些維度;下鑽則是指將某些維度進行細分。
上卷:我把Y軸地區上卷為國家,那麼我要看2011 2012 2013年份 中國的鞋子銷量
下鑽:我把X軸的年份下鑽為月份,那麼11 12 13月份 北京 上海 廣州地區的鞋子銷量
不同的OLAP工具也會提供自有的OLAP查詢功能,如鑽過,鑽透等,通常一個複雜的OLAP查詢是多個這類OLAP操作疊加的結果。
OLAP的架構模式:
1. MOLAP :
MOLAP架構會生成一個新的多維數據集,也可以説是構建了一個實際數據立方體
2. ROLAP :
ROLAP架構並不會生成實際的多維數據集,而是使用星形模式以及多個關係表對數據立方體進行模擬。
3. HOLAP
這種架構綜合參考MOLAP和ROLAP而採用一種混合解決方案,將某些需要特別提速的查詢放到MOLAP引擎,其他查詢則調用ROLAP引擎。
====================================================================================分割
數據倉庫建設好以後,用户就可以編寫SQL語句對其進行訪問並對其中數據進行分析。但每次查詢都要編寫SQL語句的話,未免太麻煩,而且對維度建模數據進行分析的SQL代碼套路比較固定。於是,便有了OLAP工具,它專用於維度建模數據的分析。而BI工具則是能夠將OLAP的結果以圖表的方式展現出來,它和OLAP通常出現在一起。
度建模數據倉庫中,OLAP/BI工具和數據倉庫的關係是這樣的:
通常在維度建模數據倉庫中,OLAP從數據倉庫中直接取數進行分析