優(yōu)化在線分析處理的性能是非常重要的,幸運(yùn)的是,一些工具可以幫助監(jiān)測(cè)和改善OLAP數(shù)據(jù)庫(kù)的運(yùn)行。
微軟SQLServer分析服務(wù)(SSAS)提供了一個(gè)用來創(chuàng)建和管理數(shù)據(jù)挖掘應(yīng)用和在線分析處理系統(tǒng)的強(qiáng)大引擎,為了取得最佳的OLAP性能,你應(yīng)該仔細(xì)的監(jiān)測(cè)和優(yōu)化OLAP數(shù)據(jù)庫(kù)和潛在的關(guān)系數(shù)據(jù)源,本文介紹了監(jiān)測(cè)SSAS和優(yōu)化OLAP性能的工具。
SQLServer Profiler
你可以使用SQL ServerProfiler基于選擇好的事件來捕獲SSAS實(shí)例的活動(dòng),SQL Server Profiler以跟蹤的方式來捕獲活動(dòng)并且包含了一套滿足最常見的跟蹤捕獲場(chǎng)景的預(yù)定義的模板,可以將跟蹤到的信息保存到一個(gè)文件或者是一個(gè)允許你實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)的SSAS的數(shù)據(jù)庫(kù)中,也可以實(shí)時(shí)的或者是一步一步的在同一個(gè)或者是另一個(gè)SSAS實(shí)例上重放跟蹤,通過對(duì)跟蹤進(jìn)行重放,能夠輕易地找到運(yùn)行慢的多維表達(dá)式,或者是MDXes,比較不同環(huán)境下的性能基準(zhǔn)進(jìn)行測(cè)試和調(diào)試,你也能夠使用SQL Server Profiler對(duì)安全進(jìn)行審核,比如說,可以設(shè)置用來審核失敗的鏈接嘗試或者是一個(gè)用戶試圖訪問一個(gè)未經(jīng)授權(quán)的對(duì)象時(shí)許可失敗的跟蹤文件,關(guān)于如何創(chuàng)建和運(yùn)行跟蹤的詳細(xì)內(nèi)容,請(qǐng)看為重放(分析服務(wù))創(chuàng)建分析跟蹤和分析服務(wù)跟蹤事件。
系統(tǒng)監(jiān)視器
監(jiān)控本地和遠(yuǎn)程SSAS實(shí)例和操作系統(tǒng)以及所運(yùn)行的計(jì)算機(jī)性能的一個(gè)最常使用的工具是系統(tǒng)監(jiān)視器,這是一個(gè)Windows性能的實(shí)用組件,提供了近乎實(shí)時(shí)的僅被用來實(shí)時(shí)監(jiān)控的性能信息,并且是被看作用來測(cè)量性能和識(shí)別硬件瓶頸的最好的工具之一,但是,你不能使用系統(tǒng)監(jiān)視器來鑒定性能問題的原因,比如說,系統(tǒng)監(jiān)視器也許顯示高的CPU使用率,但是不會(huì)標(biāo)識(shí)出原因;你可以從一個(gè)位置使用系統(tǒng)監(jiān)視器來監(jiān)控多個(gè)計(jì)算機(jī),對(duì)于每一個(gè)需要監(jiān)控的系統(tǒng)來講可以減少資源占用,并且給了你一種直接比較不同計(jì)算機(jī)的性能統(tǒng)計(jì)的方法。
擴(kuò)展事件和分析服務(wù)動(dòng)態(tài)管理視圖
擴(kuò)展事件(XEvents)是一個(gè)對(duì)系統(tǒng)資源占用非常少的一個(gè)高伸縮性和輕量級(jí)性能監(jiān)視系統(tǒng)的事件基礎(chǔ)架構(gòu),使用XEvents,可以捕獲針對(duì)所有 SSAS事件給到指定的用戶,XEvents基礎(chǔ)架構(gòu)已經(jīng)被直接集成到了SQLServer并且可以使用T-SQL簡(jiǎn)單的進(jìn)行管理,更多的信息請(qǐng)看SQL Server擴(kuò)展事件。
分析服務(wù)動(dòng)態(tài)管理視圖(DMVs)是用來提供大量的關(guān)于分析服務(wù)實(shí)例狀態(tài)和服務(wù)器健康信息的查詢結(jié)構(gòu),使用這些信息能夠診斷和調(diào)優(yōu)分析服務(wù)實(shí)例或者是數(shù)據(jù)庫(kù)性能,所有的DMVs都內(nèi)置于$System中,關(guān)于使用DMVs監(jiān)控分析服務(wù)的更多信息,請(qǐng)查看MSDN資源。
以上是用來監(jiān)測(cè)SSAS和OLAP性能的工具,下面是優(yōu)化OLAP應(yīng)該考慮的地方。
使用索引
索引可以提高影響多維在線分析處理(MOLAP)分區(qū)處理速度和關(guān)系在線分析處理(ROLAP)分區(qū)查詢速度的基礎(chǔ)數(shù)據(jù)庫(kù)的查詢性能,大部分分析服務(wù)數(shù)據(jù)庫(kù)是只讀的因此可以從索引中受益,一般的經(jīng)驗(yàn)法則是創(chuàng)建覆蓋所有分析服務(wù)執(zhí)行的查詢,另外,為了實(shí)現(xiàn)最佳的性能,你應(yīng)該創(chuàng)建的所有索引應(yīng)該使用100%的填充因子。
在基礎(chǔ)數(shù)據(jù)庫(kù)中成本消耗會(huì)關(guān)系到使用的索引,比如,更新數(shù)據(jù)的查詢(INSERT, UPDATE或者DELETE)也一定會(huì)修改索引,因此,大量的索引會(huì)降低這些DML操作(INSERT,UPDATE or DELETE)的性能,但是,這個(gè)不會(huì)影響到一個(gè)只讀系統(tǒng),另外,索引會(huì)占用時(shí)間和磁盤空間,最好的做法是使用SQL Server Profiler和數(shù)據(jù)庫(kù)引擎優(yōu)化向?qū)Щ蛘吆退饕嚓P(guān)的DMVs和動(dòng)態(tài)管理函數(shù)DMFS定期的分析查詢和索引的使用,這樣能幫助你發(fā)現(xiàn)需要?jiǎng)?chuàng)建的索引以及刪除掉的索引。
選擇適當(dāng)?shù)木酆?/strong>
查詢性能在很大程度上依賴于適當(dāng)?shù)木酆?,但是沒有必要在每一個(gè)維度的級(jí)別上添加聚合,當(dāng)使用聚合設(shè)計(jì)向?qū)?Aggregation Design Wizard)或者是Usage-Based優(yōu)化向?qū)r(shí),你應(yīng)該從較低的值開始嘗試不同的性能增益值,最初,當(dāng)你提高了性能增益值時(shí)會(huì)注意到主要的查詢速度的提高,盡管性能增益值提高了,也常常會(huì)有收益遞減,每一次性能的提升使得磁盤空間的增長(zhǎng)逐步升級(jí),你也能夠使用搜索日志來存儲(chǔ)用戶查詢以備為將來分析使用,使用Usage-Based優(yōu)化向?qū)?duì)查詢?nèi)罩緮?shù)據(jù)優(yōu)化聚合,你也能使用聚合設(shè)計(jì)向?qū)?chuàng)建適當(dāng)?shù)木酆?,?duì)于一個(gè)擁有較少或者是沒有查詢?nèi)罩緮?shù)據(jù)的新的系統(tǒng)來講聚合設(shè)計(jì)向?qū)欠浅S杏玫模?dāng)一個(gè)系統(tǒng)成熟時(shí)Usage-Based優(yōu)化向?qū)?huì)產(chǎn)生較好的結(jié)果。
使用主動(dòng)緩存
為了在查詢OLAP數(shù)據(jù)庫(kù)時(shí)達(dá)到較快的效果,你必須使用MOLAP存儲(chǔ),但是,如果你使用了MOLAP,因?yàn)樗侵芷谛缘奶幚頂?shù)據(jù)的,所以數(shù)據(jù)會(huì)有一些延遲,為了獲得最新的數(shù)據(jù),你也必須使用ROLAP存儲(chǔ),但是ROLAP的存儲(chǔ)性能要比MOLAP在查詢響應(yīng)方面明顯的慢,那就是主動(dòng)緩存配置選項(xiàng)很有用的地方了,因?yàn)樗试S分析服務(wù)可以從MOLAP和ROLAP兩邊檢索,因此為使用了ROLAP的最新數(shù)據(jù)的MOLAP提供了效能,可以在MSDN資源中發(fā)現(xiàn)更過的關(guān)于主動(dòng)緩存的信息。
如何監(jiān)測(cè)和優(yōu)化OLAP數(shù)據(jù)庫(kù)大家知道了嗎?希望可以應(yīng)用到大家的工作當(dāng)中。
您可能感興趣的文章:- sqlserver關(guān)于分頁存儲(chǔ)過程的優(yōu)化【讓數(shù)據(jù)庫(kù)按我們的意思執(zhí)行查詢計(jì)劃】
- 優(yōu)化SQL Server的內(nèi)存占用之執(zhí)行緩存
- Sql Server查詢性能優(yōu)化之不可小覷的書簽查找介紹
- Sql Server 查詢性能優(yōu)化之走出索引的誤區(qū)分析
- Sql Server 索引使用情況及優(yōu)化的相關(guān)Sql語句分享
- SqlServer 索引自動(dòng)優(yōu)化工具
- SQL Server優(yōu)化50法匯總
- sql語句優(yōu)化之SQL Server(詳細(xì)整理)
- 人工智能自動(dòng)sql優(yōu)化工具--SQLTuning for SQL Server
- sqlserver數(shù)據(jù)庫(kù)優(yōu)化解析(圖文剖析)
- SQL Server多表查詢優(yōu)化方案集錦