在上一篇簡單介紹了過往Analysis Services想要解決分析資料過慢的問題,以及使用到OLAP概念來實作Analysis Server。本篇再深入一點介紹OLAP資料流的部份。
1.建立Cube
在Visual Studio中,可以建立BI專案,並且在專案裡面設定Cube使用的Table和關聯性,設定好後將Cube存在SQL Server Analysis Services內。這個建立Cube的過程也叫資料建模(Data Modeling),此篇文章有很詳細的建模過程。
2.撰寫MDX取出資料
前篇有介紹OLAP架構中,取出資料的語言是MDX(Multidimension Expression)。以網頁來說,開發者會先在網頁裡埋MDX,讓User點一個按鈕或其他方式送出這段MDX給AS Server。AS Server會依照MDX給定的Cube來找相對應的資料。
取出資料又分三種方式,差點在於取資料的地點,此篇文章有很詳盡的介紹:
MOLAP:Multidimensional Online Analytical Processing
- 從Cube裡取資料 - AS Server
- 資料面有時間差
- 效能好,因為是從Cube裡取資料
ROLAP:Relational Online Analytical Processing
- 從Table裡取資料 - DB Server
- 當AS Server收到Request時,動態組出SQL向DB Server撈資料
- 資料面即時,但效能不佳,跟直接下SQL撈資料一樣
- HOLAP:Hybrid Online Analytical Processing
- 結合MOLAP和ROLAP
早期的AS Server架構大致上已經介紹完,運用Cube + MDX來做BI分析。
下一篇開始會介紹近年微軟新發展的Analysis Services技術