程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 如何監測和優化OLAP數據庫

如何監測和優化OLAP數據庫

編輯:關於SqlServer

優化在線分析處理的性能是非常重要的,幸運的是,一些工具可以幫助監測和改善OLAP數據庫的運行。

微軟SQLServer分析服務(SSAS)提供了一個用來創建和管理數據挖掘應用和在線分析處理系統的強大引擎,為了取得最佳的OLAP性能,你應該仔細的監測和優化OLAP數據庫和潛在的關系數據源,本文介紹了監測SSAS和優化OLAP性能的工具。

SQLServer Profiler

你可以使用SQL ServerProfiler基於選擇好的事件來捕獲SSAS實例的活動,SQL Server Profiler以跟蹤的方式來捕獲活動並且包含了一套滿足最常見的跟蹤捕獲場景的預定義的模板,可以將跟蹤到的信息保存到一個文件或者是一個允許你實時監測數據的SSAS的數據庫中,也可以實時的或者是一步一步的在同一個或者是另一個SSAS實例上重放跟蹤,通過對跟蹤進行重放,能夠輕易地找到運行慢的多維表達式,或者是MDXes,比較不同環境下的性能基准進行測試和調試,你也能夠使用SQL Server Profiler對安全進行審核,比如說,可以設置用來審核失敗的鏈接嘗試或者是一個用戶試圖訪問一個未經授權的對象時許可失敗的跟蹤文件,關於如何創建和運行跟蹤的詳細內容,請看為重放(分析服務)創建分析跟蹤和分析服務跟蹤事件。

系統監視器

監控本地和遠程SSAS實例和操作系統以及所運行的計算機性能的一個最常使用的工具是系統監視器,這是一個Windows性能的實用組件,提供了近乎實時的僅被用來實時監控的性能信息,並且是被看作用來測量性能和識別硬件瓶頸的最好的工具之一,但是,你不能使用系統監視器來鑒定性能問題的原因,比如說,系統監視器也許顯示高的CPU使用率,但是不會標識出原因;你可以從一個位置使用系統監視器來監控多個計算機,對於每一個需要監控的系統來講可以減少資源占用,並且給了你一種直接比較不同計算機的性能統計的方法。

擴展事件和分析服務動態管理視圖

擴展事件(XEvents)是一個對系統資源占用非常少的一個高伸縮性和輕量級性能監視系統的事件基礎架構,使用XEvents,可以捕獲針對所有 SSAS事件給到指定的用戶,XEvents基礎架構已經被直接集成到了SQLServer並且可以使用T-SQL簡單的進行管理,更多的信息請看SQL Server擴展事件。

分析服務動態管理視圖(DMVs)是用來提供大量的關於分析服務實例狀態和服務器健康信息的查詢結構,使用這些信息能夠診斷和調優分析服務實例或者是數據庫性能,所有的DMVs都內置於$System中,關於使用DMVs監控分析服務的更多信息,請查看MSDN資源。

以上是用來監測SSAS和OLAP性能的工具,下面是優化OLAP應該考慮的地方。

使用索引

索引可以提高影響多維在線分析處理(MOLAP)分區處理速度和關系在線分析處理(ROLAP)分區查詢速度的基礎數據庫的查詢性能,大部分分析服務數據庫是只讀的因此可以從索引中受益,一般的經驗法則是創建覆蓋所有分析服務執行的查詢,另外,為了實現最佳的性能,你應該創建的所有索引應該使用100%的填充因子。

在基礎數據庫中成本消耗會關系到使用的索引,比如,更新數據的查詢(INSERT, UPDATE或者DELETE)也一定會修改索引,因此,大量的索引會降低這些DML操作(INSERT,UPDATE or DELETE)的性能,但是,這個不會影響到一個只讀系統,另外,索引會占用時間和磁盤空間,最好的做法是使用SQL Server Profiler和數據庫引擎優化向導或者和索引相關的DMVs和動態管理函數DMFS定期的分析查詢和索引的使用,這樣能幫助你發現需要創建的索引以及刪除掉的索引。

選擇適當的聚合

查詢性能在很大程度上依賴於適當的聚合,但是沒有必要在每一個維度的級別上添加聚合,當使用聚合設計向導(Aggregation Design Wizard)或者是Usage-Based優化向導時,你應該從較低的值開始嘗試不同的性能增益值,最初,當你提高了性能增益值時會注意到主要的查詢速度的提高,盡管性能增益值提高了,也常常會有收益遞減,每一次性能的提升使得磁盤空間的增長逐步升級,你也能夠使用搜索日志來存儲用戶查詢以備為將來分析使用,使用Usage-Based優化向導對查詢日志數據優化聚合,你也能使用聚合設計向導創建適當的聚合,對於一個擁有較少或者是沒有查詢日志數據的新的系統來講聚合設計向導是非常有用的,而當一個系統成熟時Usage-Based優化向導會產生較好的結果。

使用主動緩存

為了在查詢OLAP數據庫時達到較快的效果,你必須使用MOLAP存儲,但是,如果你使用了MOLAP,因為它是周期性的處理數據的,所以數據會有一些延遲,為了獲得最新的數據,你也必須使用ROLAP存儲,但是ROLAP的存儲性能要比MOLAP在查詢響應方面明顯的慢,那就是主動緩存配置選項很有用的地方了,因為它允許分析服務可以從MOLAP和ROLAP兩邊檢索,因此為使用了ROLAP的最新數據的MOLAP提供了效能,可以在MSDN資源中發現更過的關於主動緩存的信息。

如何監測和優化OLAP數據庫大家知道了嗎?希望可以應用到大家的工作當中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved