[Microsoft-SSAS] Cube History
今天再講講微軟SSAS服務的內容,其實在OLAP領域,微軟一直是BI報表的大宗,直到2010微軟推出power pivot後,開始往in-memory的報表領域延伸,2012開始有tabular作為cube的新選擇。
不過我近期仍想先強調OLAP的multidimensional cube,它雖然建置和維護起來較為複雜,但比較能有效率地匯入大量的數據,user使用起來的效能也較好,這也是為何能夠二十幾年來都沒有被淘汰,從網路文章,可以更知道SSAS服務的歷史及二種model的優缺點:
multidimensional cube優點:
- Mature Technology.
- Scalable Technology able to handle very large volume of data.
- Able to cope with advanced modeling/ computations requirements.
multidimensional cube缺點:
- Cannot be used with Power View.
- No major innovations to expect in this product in the future.
- Higher complexity than Tabular.
其實,它的缺點長期來看我仍然覺得是致命傷,因為它的發展較純熟,目前也比較沒有再改版,且開發起來真的門檻較高,在現在強調自助型BI的風潮下,長期覺得仍有會有被淘汰的可能。
不過不打緊,我們還是要先來看看multidimensional cube的精隨,前面提到星狀和雪狀式的資料結構,他們是製作cube時候很重要設計的方式之一,星狀是最常見的設計方式,雪片狀則算是延伸,但我覺得製作cube或設計dimension都是以雪片狀較為常見,因為資料通常不會只需要一個table綁定其它dimension就完成了,實務上的資料內容也更為複雜。
如果說到這邊還是沒以很理解星狀和雪片狀的差異,讓我們來看看下圖說明:

從圖中可知,雪片狀像似星狀的進階延伸,星狀相對單純,再看到下圖的話,就可以知道綠色部分就是星狀,但若要再把幾個Dimension(維度)再做更進階的切分,加上藍色的資料,整體結構就是雪片狀了!

這種雪片狀也算是其中一種案例,工作中我使用的雪片狀,其實是多個Fact table的串聯,主要是用來串連多個left join欄位,譬如客戶需求數量、訂購預計數量、訂單實際銷售數量等欄位,他們來自多個fact table,彼此用客戶做串連,類似這樣的設計不勝枚舉。
資料來源: