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)的形式