時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
?? 現(xiàn)今的公司需要易訪問且可用性好的商業(yè)數(shù)據(jù),以便他們可以在全球市場中獲得一席之地。與易訪問數(shù)據(jù)的這個需求相呼應(yīng),關(guān)系數(shù)據(jù)庫和分析數(shù)據(jù)庫在規(guī)模方面繼續(xù)發(fā)展,內(nèi)嵌數(shù)據(jù)庫和許多產(chǎn)品一起出現(xiàn),并且許多公司將服務(wù)器合并來減輕管理工作。當(dāng)公司的數(shù)據(jù)環(huán)境在規(guī)模和復(fù)雜度方面持續(xù)發(fā)展的同時,他們必須維護(hù)最佳的性能。
?? 本文描述了SQL Server 2008的性能和擴(kuò)展能力,并解釋了你可以怎樣使用這些功能來實(shí)現(xiàn):
?? ◆使用可用于數(shù)據(jù)庫引擎、分析服務(wù)、報表服務(wù)和集成服務(wù)的工具和功能來優(yōu)化任何規(guī)模的數(shù)據(jù)庫性能。
?? ◆擴(kuò)展你的服務(wù)器來充分利用新的硬件能力。
?? ◆擴(kuò)展你的數(shù)據(jù)庫環(huán)境來優(yōu)化響應(yīng)速度并使你的數(shù)據(jù)更易于用戶訪問。
?? 使用SQL Server 2008優(yōu)化性能
?? 由于公司數(shù)據(jù)在規(guī)模和復(fù)雜度方面繼續(xù)發(fā)展,你必須采取行動來提供最佳的數(shù)據(jù)訪問時間。SQL Server 2008包括許多特性和增強(qiáng)的功能來優(yōu)化所有方面的性能,包括關(guān)系型聯(lián)機(jī)事務(wù)處理(OLTP)數(shù)據(jù)庫;聯(lián)機(jī)分析處理(OLAP)數(shù)據(jù)庫;報表;數(shù)據(jù)抽取、轉(zhuǎn)換和加載(ETL)處理。
?? 關(guān)系型數(shù)據(jù)庫的性能
?? 在大多數(shù)商業(yè)環(huán)境中,關(guān)系型數(shù)據(jù)庫是業(yè)務(wù)關(guān)鍵應(yīng)用程序和服務(wù)的核心所在。隨著數(shù)據(jù)量的增長,以及依賴于關(guān)系數(shù)據(jù)存儲的用戶和應(yīng)用程序數(shù)目的增長,公司必須能夠確保他們的數(shù)據(jù)系統(tǒng)具有一致的性能和響應(yīng)。SQL Server 2008提供了一個強(qiáng)大的數(shù)據(jù)庫引擎,它支持大型關(guān)系數(shù)據(jù)庫和復(fù)雜的查詢處理。
?? 可測量的實(shí)際性能
?? SQL Server 2008建立在之前SQL Server 版本的行業(yè)領(lǐng)先的性能之上,給你的公司提供了最高級的標(biāo)準(zhǔn)數(shù)據(jù)庫性能。使用事務(wù)處理性能委員會的TPC-C基準(zhǔn)示范了SQL Server 的高性能,Microsoft是第一個發(fā)布更新的TCP-E基準(zhǔn)結(jié)果的數(shù)據(jù)庫銷售商,這更精確地表現(xiàn)了現(xiàn)在公司里普遍存在的OLTP工作負(fù)載的種類。
?? 此外,SQL Server 通過一個創(chuàng)記錄的3GB的TPC-H結(jié)果顯示了它對大范圍的數(shù)據(jù)倉庫工作量的執(zhí)行能力,這表明了SQL Server 2008基礎(chǔ)的擴(kuò)展能力和性能。
?? 高性能的查詢處理引擎
?? SQL Server 的高性能查詢處理引擎幫助用戶將他們的應(yīng)用程序性能提高到最大。這個查詢處理引擎評估查詢,并產(chǎn)生基于動態(tài)維護(hù)的、關(guān)于索引和密鑰選擇及數(shù)據(jù)量統(tǒng)計的最佳查詢執(zhí)行計劃。你可以在SQL Server 2008中鎖定查詢計劃以確保普通查詢執(zhí)行時的穩(wěn)定性能。查詢處理引擎還可以利用多核或多處理器系統(tǒng),并生成能夠利用并行性進(jìn)一步提高性能的執(zhí)行計劃。
?? 一般情況下,在查詢性能方面最大的瓶頸是磁盤I/O。SQL Server的動態(tài)緩存能力降低了對物理磁盤的訪問次數(shù),并且查詢處理引擎使用預(yù)讀取掃描來預(yù)測一個給定的計劃所需的數(shù)據(jù)頁面,并預(yù)先將它們讀取到緩存里,這可以顯著地提高整個性能。另外,SQL Server 2008支持本地數(shù)據(jù)壓縮,從而可以降低必須讀取的數(shù)據(jù)頁面的數(shù)量,并提高了I/O 工作負(fù)載的性能。
?? SQL Server 2008支持表和索引的分割,這使得管理員可以將同一個表或索引分配到單獨(dú)的物理存儲設(shè)備上,從而通過多個文件組來控制數(shù)據(jù)的物理存放位置。在SQL Server 2008中針對查詢處理引擎的優(yōu)化使得它可以并行地訪問分區(qū)數(shù)據(jù),并顯著提高了性能。
?? 性能優(yōu)化工具
?? SQL Server 2008包含SQL Server Profiler 和Database Engine Tuning Advisor。通過使用SQL Server Profiler,你可以捕捉應(yīng)用程序典型負(fù)載中所發(fā)生的事件,然后在Database Engine Tuning Advisor 中將這些事件重現(xiàn),從而針對數(shù)據(jù)的索引和分區(qū)生成相應(yīng)建議,這樣你就可以優(yōu)化應(yīng)用程序的性能了。
?? 在創(chuàng)建了最適合你的應(yīng)用程序的工作負(fù)載的索引和分區(qū)之后,你可以使用SQL Server Agent來制定一個自動的數(shù)據(jù)庫維護(hù)計劃。這個自動的維護(hù)會定期的重新組織或重建索引,并更新索引和選擇統(tǒng)計,以確保當(dāng)數(shù)據(jù)插入和修改你的數(shù)據(jù)庫的物理數(shù)據(jù)頁面片段時一直提供最佳的性能。
?? Resource Governor
?? 通常,一個單獨(dú)的服務(wù)器用來提供多個數(shù)據(jù)服務(wù)。在一些情況下,許多應(yīng)用程序和工作負(fù)載依賴于同一個數(shù)據(jù)源。在目前所流行的服務(wù)器合并的趨勢下,要為一個給定的工作負(fù)載提供可預(yù)測的性能是很困難的,因?yàn)橥_服務(wù)器上的其它工作負(fù)載會競爭系統(tǒng)資源。在一個單獨(dú)的服務(wù)器上有多個工作負(fù)載,管理員必須避免出現(xiàn)某些問題,例如使其它工作負(fù)載一直等待系統(tǒng)資源的失效查詢,或者低優(yōu)先級的工作負(fù)載反過來影響高優(yōu)先級的工作負(fù)載。SQL Server 2008提供了Resource Governor,它使得管理員可以對運(yùn)行在一個SQL Server實(shí)例上的各個工作負(fù)載定義和分配優(yōu)先級。工作負(fù)載基于如用戶、應(yīng)用程序和數(shù)據(jù)庫等因素,通過對資源定義限制,管理員可以將失效查詢的可能性降至最低,還可以限制獨(dú)占資源的工作負(fù)載。通過設(shè)置優(yōu)先級,管理員可以優(yōu)化一個關(guān)鍵任務(wù)的處理性能,同時維護(hù)服務(wù)器上其它工作負(fù)載的可預(yù)測性。
?? 性能套件
?? SQL Server 2008提供了性能套件,它是一套用來收集、分析、排除故障和存儲SQL Server 2008診斷信息的集成框架。性能套件為性能監(jiān)控提供了一個端對端的解決方案,其中包括針對性能數(shù)據(jù)的低開銷收集、集中化存儲、以及分析報表。你可以使用SQL Server 2008管理套件來管理收集工作,例如可以使用數(shù)據(jù)收集器、啟動一個收集集合并查看作為性能狀態(tài)面板的系統(tǒng)收集集合報表。你還可以使用系統(tǒng)存儲結(jié)構(gòu)和性能套件應(yīng)用程序編程接口(API)來建立你自己的基于性能套件的性能管理工具。
?? 性能套件提供了一個統(tǒng)一的數(shù)據(jù)收集基礎(chǔ)架構(gòu),它在每一個你想監(jiān)控的SQL Server實(shí)例中都有一個數(shù)據(jù)收集器。這個數(shù)據(jù)收集器非常靈活,它可以管理數(shù)據(jù)收集范圍以適應(yīng)開發(fā)、測試和生產(chǎn)環(huán)境。你使用這個數(shù)據(jù)收集框架就可以輕松地收集性能數(shù)據(jù)和一般的診斷數(shù)據(jù)。
?? 該數(shù)據(jù)收集器基礎(chǔ)設(shè)施推出了以下新的概念和定義:
?? ◆數(shù)據(jù)提供商。性能或診斷信息的來源可以包括SQL Trace 、性能計數(shù)器和Transact-SQL查詢(例如,從分布式的管理視圖中獲得數(shù)據(jù))。
?? ◆收集器類型。一個邏輯封裝,它提供了從數(shù)據(jù)提供商處收集數(shù)據(jù)的機(jī)制。
?? ◆收集項(xiàng)目。一個收集器類型的實(shí)例。當(dāng)創(chuàng)建一個收集項(xiàng)目時為這個項(xiàng)目定義輸入屬性和收集頻率。一個收集項(xiàng)目不能單獨(dú)存在。
?? ◆收集集合。數(shù)據(jù)收集的基本單位。一個收集集合是一組收集項(xiàng)目的集合,它們在一個SQL Server 實(shí)例上定義和部署。收集集合可以各自獨(dú)立運(yùn)行。
?? ◆收集模式。一個收集集合中數(shù)據(jù)收集和存儲的方式。這個收集模式可以設(shè)置為緩存或不緩存。收集模式將影響用于該收集集合的工作和時間表的類型。
?? ◆數(shù)據(jù)收集器是可擴(kuò)展的,它可以添加新的數(shù)據(jù)提供者。
?? 當(dāng)配置數(shù)據(jù)收集器時,會創(chuàng)建一個默認(rèn)名稱為MDW的關(guān)系數(shù)據(jù)庫作為管理數(shù)據(jù)倉庫,其中將存儲收集來的數(shù)據(jù)。這個數(shù)據(jù)庫可以和數(shù)據(jù)收集器放在同一個系統(tǒng)上,或者放在一個單獨(dú)的服務(wù)器上。管理數(shù)據(jù)倉庫中的對象包括以下三種預(yù)配置的模式,其作用各不相同:
?? ◆Core 模式 - 包括用于組織和標(biāo)識收集到的數(shù)據(jù)的表和存儲過程。
?? ◆Snapshot 模式 - 包括數(shù)據(jù)表、視圖和其它對象,用于支持標(biāo)準(zhǔn)的收集器類型的數(shù)據(jù)。
?? ◆Custom_Snapshot 模式 - 可以創(chuàng)建新的數(shù)據(jù)表來支持用戶定義的、按標(biāo)準(zhǔn)的、以及擴(kuò)展的收集器類型所創(chuàng)建的收集集合。
?? 性能套件提供了一組強(qiáng)大的預(yù)先配置的系統(tǒng)收集集合,包括Server Activity、 Query Statistics 和Disk Usage,來幫助你快速分析所收集的數(shù)據(jù)。通常使用◆Server Activity 系統(tǒng)收集集合來開始監(jiān)控和故障排除。在SQL Server管理套件中發(fā)布了一組與每一個系統(tǒng)收集集合相關(guān)的報表,你可以將這些報表作為性能狀態(tài)面板來幫助你分析數(shù)據(jù)庫系統(tǒng)的性能,如圖1所示。
?? 數(shù)據(jù)倉庫和分析性能
?? 數(shù)據(jù)倉庫環(huán)境必須能夠滿足數(shù)量不斷發(fā)展的數(shù)據(jù)和用戶需求,并維護(hù)最佳的性能。隨著數(shù)據(jù)倉庫查詢變得越來越復(fù)雜,查詢的每一部分都必須進(jìn)行優(yōu)化以維護(hù)可以接受的性能。在SQL Server 2008中,查詢優(yōu)化器可以動態(tài)地導(dǎo)入一個最佳的位圖過濾器來加強(qiáng)星型模式(star schema)的查詢性能。此外,SQL Server 2008支持?jǐn)?shù)據(jù)分割、高級索引功能和索引視圖來支持更大型的數(shù)據(jù)存儲,還有稀疏列和有效的數(shù)據(jù)類型,例如VARDECIMAL,對于包含大量 NULL 值的大型表,它可以降低相關(guān)開銷(數(shù)據(jù)倉庫的一個普通特性)。
?? 分析服務(wù)應(yīng)用程序需要大型且復(fù)雜的計算。寶貴的處理器時間浪費(fèi)在計算解決 NULL 或零數(shù)據(jù)的聚合上。在SQL Server 2008分析服務(wù)中的塊計算使用默認(rèn)的值,將要計算的表達(dá)式的數(shù)目降至最低,并將單元導(dǎo)航限制為整個空間只有一次,而不是每個單元一次,從而顯著提高了計算性能。
?? 盡管多維度OLAP(MOLAP)分區(qū)提供了更好的查詢性能,但是需要用到回寫功能的公司之前都需要使用關(guān)系型OLAP (ROLAP)分區(qū)來維護(hù)回寫表。SQL Server 2008增加了對MOLAP分區(qū)執(zhí)行回寫操作的能力,這消除了由維護(hù)ROLAP回寫表所引起的性能下降的問題。
?? 報表服務(wù)性能
?? SQL Server 2008報表服務(wù)引擎被重新開發(fā),以便通過按需處理過程對報表服務(wù)添加更好的性能和可擴(kuò)展性。報表不再局限于內(nèi)存,因?yàn)楝F(xiàn)在報表處理使用一個文件系統(tǒng)緩存來緩解內(nèi)存的壓力。報表處理還可以適應(yīng)其它消耗內(nèi)存的
關(guān)鍵詞標(biāo)簽:SQL Server 2008
相關(guān)閱讀
熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系
人氣排行 配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫 SQL2000數(shù)據(jù)庫遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級到2000的正確操作步驟 sql server系統(tǒng)表損壞的解決方法 淺談JSP JDBC來連接SQL Server 2005的方法