07_儲存體彙總設計

Download Report

Transcript 07_儲存體彙總設計

儲存體彙總設計
設計資料分割
資料分割為彙總資料的基本單位
以量值群組為基礎
預設以個別事實資料表來產生(一個量值群組,一個
資料分割),稱之為垂直分割
更細部的將同一量值群組再割為數個資料表或根據
過濾條件設定在切割原有的基本資料分割(僅有企業
本支援一個量值群組多個資料分割)稱為水平分割
資料分割的好處
資料分割能讓個別分割的資料量減少,加速查詢效
能
可以依照資料的新舊設計分割策略
資料處理只需針對個別資料分割
處理與維護不會影響其它資料分割
「資料分割」頁籤
當Cube以及相關計算設計完成後,切換至「資料分
割」頁籤。
系統會預設個別量值群組依照原先指定之事實資料
表作為預設的資料分割
新增資料分割
設定資料分割資料來源
水平分割二種方式
選擇交易時間作為水平分割準則
 如果企業的交易資料過多時,可以選擇交易時間來做為水平分割的準則
第一種:將每月的交易資料儲存於獨立的資料表
第二種:將交易資料放在同一個資料表中,多維度分析引擎
可以利用T-SQL設定WHERE過濾條件,讓個別資料分割指定不
同的資料範圍
 需注意資料是否會跨資料分割
如果選擇第二種,則將「指定查詢來限制資料
列」打勾
儲存設定
當設計完成資料分割後,需設計割資料分割的彙總
資料儲存方式。
不同資料分割可以有不同的儲存設定,設計者點選
欲設定之資料分割
Step1:啟動儲存設計精靈
Step2:設定儲存方 法
儲存設定(Molap VS. Rolap)
多維度OLAP(MOLAP)
關聯式OLAP(ROLAP)
儲存位置
將彙總資料與明細資料同時儲存於
多維度結構體中
將彙總資料與明細資料同時儲存在關聯
式資料庫中
查詢效率
依照多維度結構體查詢,因此查詢
速度較快
依照多維度分析自動產生T-Sql的查詢二
維關聯式資料庫,因此查詢速度較慢
資料儲存
將明細資料抄錄至多維度結構體中, 僅需要利用資料表儲存彙總資料,因此
在產生額外的彙總資料,因此儲存 儲存空間較小
空間較多
處理彙總
必須將明細資料載入多維度結構體
後方能計算彙總
不需要載入明細資料,因此處理速度較
快;但大量資料時,彙總資料必須要為
全索引化,因此會比MOLAP慢
多維度資料儲存方式(自訂)
ROLAP:將彙總資料及明細資料同時儲存於關聯式
資料庫。
HOLAP:明細資料儲存於關聯式資料庫,彙總資料
儲存於CUBE
MOLAP:將彙總資料及明細資料同時儲存於多維度
結構體(CUBE)
MOLAP vs ROLAP
MOLAP:查詢彙總資料效率較ROLAP好,來源資料庫未啟動也不影響
查詢。資料儲存空間大
ROLAP:需維持來源資料庫在運作狀態,所需儲存空間小。處理資料
量小效率較佳
彙總設計
可設計各資料分割的彙總比例,並提供檢視彙總的
的細節設定
彙總頁籤
彙總設計
預設量值群組內都會有一個「未指派的彙總設計」,
但設計者必須指定域產生彙總比例,在處理Cube時
才會真正的計算彙總
Step1:點選「未指派的彙總設計」,按下滑鼠右鍵,選取
「設計彙總」,啟動「彙總設計精靈」
Step2:指定要修改的資料分割。(多個資料分割才會顯示此畫面)
Step3:指定維度與屬性(Attribute)的使用方式
選項
Default
(預設)
說明
如果屬性具備自然階層關係,則不自
動計算高層彙總
例如:產品階層是自然階層關係,那麼計算了產品中
的分費就可以自動排列成大類別,系統就不會去計
算大分類的彙總,減少重複彙總
Full
(完整)
計算所有包含此屬性或與此屬性相關
的彙總組合
None
完全不計算彙總
(無彙總)
Unrestricte
d
(不限制)
彙總引擎自行判斷此屬性是否需要計
算彙總
Step4:搜尋所有的維度與量值物件的技術,以便後
續彙總計算引擎評估可能的彙總數量。
如果彙總涵蓋所有排列組合的結果,反而會造成彙總資料的急速膨
脹,且所有可能的排列組合數可能會比原始資料的數量來的更大,
不但計算會變得極度緩慢,而且未來查詢彙總資料時,會造成效能
不加的結果,所以除非必要,不燃可以不需要產生所有的彙總
Step5:指定系統彙總設計的上限。
彙總設計模式
 估計儲存體上限:根據彙總的資料量大小作為產生彙總的上限
 效能改善比率:指定相較於完整彙總所慘生的彙總數開對數後的比率
 我按「停止」為止:系統會自動彙總,一直到按「停止」為止
 不要設計彙總:所有查詢皆會根據明細資料產生而成
完成彙總設計後,可以點選頁籤上方工具列的「指
派彙總設計」選項,變更資料分割指派
彙總進階檢視
查詢紀錄以及彙總最佳化
可利用前端使用者查詢紀錄為基礎,針對使用者查
詢內容作為特定彙總最佳化
在設計之前必須在SSAS伺服器中開啟是建檔記錄,才能夠處
理最佳化模式。
 QueryLog \ QueryLogConnectionStirng
•指定查詢紀錄資料庫的連接
 QueryLog \ QueryLogTableName
•指定查詢紀錄資料表名稱
 QueryLog \ CreatQueryLogTable
•是否建立查詢紀錄資料表,如果需要則改為True
 補充:更改SSAS伺服器的屬性資料
使用SSIS管理資料分割
資料分割是多維度分析中最基本的資料儲存單位,
因此,資料分割並非是一程不變,而是需要根據資
料生命週期而有所新增、刪除以及合併。
使用積極的資料生命週期策略得好處在於,不但可
以讓每個資料分割同時保存合理的資料量, 也可以
將異動可能較低的老舊資料搬移,並因應資料的新
增產生新的資料分割
因次介紹如何利用ssis自動的維護多維度分析的資
料分割(請參考範例檔案-自動產生資料分割專案,課本p187~P193)
Cube資料回寫
在許多分析的過程中,使用者除了查詢多維度分析
之外,也會修改Cube資料格資料的需求,此時就必
須利用Cube回寫(Write-Back)的方法來覆寫資料個的
內容
例如:當實際銷售數字高於預期或是不如理想時,經
營決策單會就可能需要針對實際銷售數字對目標預
算進行微調。
啟用回寫
以範例Cube來調整業務人員的業績目標。
Step1:啟動回寫
啟動後將會出現另一個資料分割稱「WriteTable_業務
目標」
使用回寫
開啟回寫後,同時 使用者也必須具備Cube讀取/寫
入的權限(參考第九章),並利用Update Cube函數修改
Cube資料格
Update [Cube] Cube名稱
set
Tuple運算式.[Value]=覆寫值 //利用Tuple來指定回寫的資料格,並指定欲覆寫的新值內容
[
//設定攤提模式,利用攤提模式指定資料格之變動量如何分攤底層資料格
NO_Allocation
| Use_Equal_Allocation
| Use_Equal_INCREMENT
| Use_WEIGHTED_ALLOCATION [ BY 權重運算式]
| Use_WEIGHTED_INCREMENT [ BY 權重運算式]
]
範例如P198
管理回寫
使用SSMS管理回寫
 可利用「停用回寫」功能來關
閉回寫功能,同時之前回寫的
內容將會自動移除
 可利用「轉換為資料分割」,
將方才系統自動產生的唯讀
MOLAP或ROLAP 資料分割轉換為
資料方割,並設計其彙總設定
維度回寫的限制
回寫限制必須為父子式維度階層
回寫時,不能只回寫單一鍵值,必須將此成員的所
有屬性(Attribute)同時加入
回寫維度僅支援星狀架構,也就是只能支援單一維
度資料表
要執行回寫時,使用者必須要有維度資料表的寫入
權限,同時,該資料欄位不得為唯讀、啟用識別或
自動遞增。如果為了使用回寫功能而修改來源資料
表欄位定義時,請記得也要一併更新資料來源檢視
檢視方塊
可設計Cube物件的組合,已呈現特定的分析主題,
所以又可視為一種資料市集(Data Mart)的形式