1. 程式人生 > >SSAS的儲存原理以及內部結構

SSAS的儲存原理以及內部結構

 一、AS資料庫的儲存方式

 微軟的AS提供了六種方案,大家最常用的應該是三種,實時的MOLAP,還有ROLAP,取中間的HOLAP,MOLAP是把明細資料和聚合資料都放到了資料cube裡,這樣多維資料庫完全可以脫離資料來源(DW)執行,而我們用前段展示工具連線的時候,完全可以拋開DW,這樣的缺點是如果資料量大,多維資料庫會很大,而且也不靈活。下來是ROLAP,ROLAP主要是把明細和聚合資料放到DW裡,這樣的優點是比較靈活,而且CUBE比較小,缺點是相對MOLAP來說查詢起來比較慢,因為是從DW裡用T_SQL語句進行檢索資料。那麼中間的辦法就是HOLAP,HOLAP是把明細資料放入DW,把聚合資料放入CUBE,這樣也是一個折中的儲存方式。其實我們大多數還用的是MOLAP。

二、AS的資料庫還原備份、以及內部結構。

  AS資料庫以多維的資料來儲存,其實內部使用XMLA這種語言,就是說我們新建的一個維度,指令碼其實就是XMLA這種語言指令碼,如果我們熟悉這中語言,完全可以用指令碼來編寫維度,而且我們還可以通過一些用.NET編寫的程式來發送這種XMLA語言,來操縱多維資料庫,使得操作程式化。那麼我們怎麼來備份多維資料庫呢。我們首先開啟SSMS,選擇AS引擎,登入方式用windos身份驗證,見下圖:

地方

這時候在資料庫的下邊出現了我們以前處理過的多維資料庫,右鍵--備份,因為AS在資料庫這塊設定的密碼,因為如果是MOLAP,資料全部都在cube裡,如果別人盜取了cube,直接還原,就可以讀取所有資料,而這塊也是為了資料的安全,我們把密碼的取掉,這個瀏覽做的有點不智慧,因為不能選擇路徑,其實寫路徑即可,AS資料庫的備份的字尾名不是BAK,而是abf,見下圖:

選擇確定就ok,這樣我們就可以隨便的遷移cube了,這樣的方式和資料庫的備份方式類似,其實AS還有其他方式,剛才說過AS是XMLA指令碼,其實就是XML FOR AS,我們可以通過xmla指令碼來建立副本,首先 右鍵資料庫 create到新查詢視窗,如下圖:

這些指令碼都是XMLA指令碼,在這裡我們會看到維度、計算公式,KPI等等的指令碼,我們可以修改名稱,也可以修改id,這樣其實我們就是建立了另外的一個AS得資料庫,指令碼內容完全相同;我們修改完執行就完全可以了。