有效擴展SQL Server 2008
服務(wù)器合并、大型數(shù)據(jù)存儲、以及復(fù)雜的查詢都要求物理資源能夠支持很多工作負載運行在一個服務(wù)器上。SQL Server 2008具有充分利用***硬件技術(shù)的能力。多個數(shù)據(jù)庫引擎實例和多個分析服務(wù)實例可以安裝在一個單獨的服務(wù)器上,從而實現(xiàn)硬件合并。在一個單獨的服務(wù)器上可以安裝最多50個實例,而不必犧牲性能或響應(yīng)時間。
硬件支持
SQL Server 2008充分利用現(xiàn)代化的硬件,包括64位、多核和多處理器系統(tǒng)。為了支持不斷增長的報表、分析和數(shù)據(jù)訪問負載,SQL Server可以支持最多64GB的內(nèi)存并支持32位硬件上的動態(tài)AWE映射內(nèi)存的分配,并且可以在64位的硬件上最多支持8TB的內(nèi)存。
當多個處理器添加到一個服務(wù)器上時,如果處理器必須訪問對于處理器來說不在本地的內(nèi)存,那么內(nèi)存訪問可能會慢下來。建立非一致性內(nèi)存訪問(non- uniform memory access,NUMA)架構(gòu)的硬件,通過使處理器訪問本地內(nèi)存解決了這些內(nèi)存訪問限制。SQL Server可識別NUMA硬件,進而為公司提供更好的可擴展性和更多的性能選項。你可以利用基于NUMA的計算機而不必修改應(yīng)用程序配置。SQL Server 2008支持硬件NUMA和軟件NUMA。
熱插拔硬件
盡管通過增加內(nèi)存或CPU可以輕松擴展一個SQL Server 實例,但規(guī)劃停機時間來添加硬件以擴展關(guān)鍵任務(wù)應(yīng)用程序,以及7x24小時不間斷運行可能是比較困難的。有了SQL Server 2008,你就可以添加CPU和內(nèi)存到兼容的機器上來擴展你的服務(wù)器,且不必停止數(shù)據(jù)庫服務(wù)。
實現(xiàn)熱插拔內(nèi)存必須滿足如下要求:
◆SQL Server 2008企業(yè)版
◆Windows Server® 2003企業(yè)版或 Windows Server 2003 數(shù)據(jù)中心版
◆64位SQL Server 或支持AWE的32位SQL Server
◆從你的硬件供應(yīng)商那里獲得的支持內(nèi)存添加的硬件,或虛擬軟件
◆使用–h 參數(shù)啟動的SQL Server
實現(xiàn)熱插拔CPU 必須滿足如下要求:
◆SQL Server 2008企業(yè)版
◆用于Itanium 系統(tǒng)的Windows Server® 2008企業(yè)版或用于x64位系統(tǒng)的Windows Server 2008 數(shù)據(jù)中心版
◆64位SQL Server
◆支持CPU添加的硬件,或者是虛擬軟件
高級并發(fā)特性
擴展數(shù)據(jù)庫服務(wù)器的目的是支持用戶或應(yīng)用程序數(shù)目的增長。隨著用戶數(shù)目的增長,當多個事務(wù)試圖訪問同一個數(shù)據(jù)時,響應(yīng)時間可能受到并發(fā)問題的影響。 SQL Server 2008提供了許多隔離級別來支持均衡并發(fā)和讀取完整性的眾多解決方案。對于低級別版本,SQL Server 2008提供只讀隔離級別,它使用READ_COMMITTED_SNAPSHOT 數(shù)據(jù)庫選項,此外還有一個使用ALLOW_SNAPSHOT_ISOLATION數(shù)據(jù)庫選項的快照隔離級別。此外,對于表的Lock Escalation設(shè)置使得你可以改進性能和維護并發(fā),特別是在查詢分區(qū)表的時候。
擴展SQL Server 2008
除了擴展單個服務(wù)器以支持不斷發(fā)展的數(shù)據(jù)環(huán)境,SQL Server 2008還提供了工具和功能來擴展數(shù)據(jù)庫以增加巨型數(shù)據(jù)庫的性能并縮短數(shù)據(jù)和用戶的距離。
可擴展的共享數(shù)據(jù)庫
數(shù)據(jù)倉庫是由多個只讀數(shù)據(jù)的消費者(例如分析和報表解決方案)使用,并且可以超載數(shù)據(jù)請求,從而降低了響應(yīng)時間。為了克服這個問題,SQL Server 2008支持可擴展的共享數(shù)據(jù)庫,它提供了一個擴展多個數(shù)據(jù)庫服務(wù)器實例中的只讀報表數(shù)據(jù)庫的方法,以分配查詢引擎工作負載和隔離資源密集的查詢。這個可擴展的共享數(shù)據(jù)庫特性使得管理員可以通過在多個報表服務(wù)器上布置一個只讀數(shù)據(jù)庫的拷貝來創(chuàng)建一個只用于只讀的數(shù)據(jù)源。應(yīng)用程序訪問一個一致的數(shù)據(jù)拷貝,獨立于它們所連接的報表服務(wù)器。
數(shù)據(jù)選擇路由
當一個公司決定要擴展其數(shù)據(jù)庫結(jié)構(gòu)到一個聯(lián)合的數(shù)據(jù)庫中時,必須決定怎樣在服務(wù)器間從邏輯上劃分數(shù)據(jù)和怎樣將請求路由到適當?shù)姆?wù)器上。有了SQL Server 2008,你可以使用Service Broker 將數(shù)據(jù)選擇路由作為一個服務(wù)來執(zhí)行,路由請求到適當?shù)奈恢谩?
點對點復(fù)制
點對點復(fù)制可以提供一個有效的向外擴展的解決方案,其中一個數(shù)據(jù)庫的相同拷貝會分發(fā)到企業(yè)中的各個位置,以便對數(shù)據(jù)本地拷貝的修改會自動發(fā)布到其它的副本所在地。SQL Server 2008使用新的點對點拓撲向?qū)Ш涂梢暬脑O(shè)計器幫助你降低執(zhí)行和管理一個點對點復(fù)制解決方案所需的時間。SQL Server之前的版本需要管理員在附加一個新節(jié)點到已有節(jié)點上時,停止所有節(jié)點上發(fā)布的表的活動,而SQL Server 2008使得新的節(jié)點即使在復(fù)制活動過程中也可以進行添加和連接等操作。
查詢通知
大多數(shù)企業(yè)應(yīng)用程序是基于三層架構(gòu)的,其中數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器上通過一個或多個應(yīng)用程序服務(wù)器(通常是一個Web群)獲得,它反過來被客戶端計算機訪問。為了提高性能,許多應(yīng)用程序服務(wù)器通過緩存數(shù)據(jù)來為用戶提供更快的響應(yīng)速度。緩存數(shù)據(jù)的一個局限是需要刷新數(shù)據(jù),因為如果數(shù)據(jù)沒有經(jīng)常刷新,那么用戶可能會獲得不準確的陳舊數(shù)據(jù)。過多的刷新數(shù)據(jù)會導(dǎo)致系統(tǒng)開銷增大,這可能最終會降低應(yīng)用程序服務(wù)器的性能。SQL Server 2008使用查詢通知在緩存數(shù)據(jù)過期時自動地通知中間層應(yīng)用程序,從而幫助應(yīng)用程序更有效地使用應(yīng)用程序緩存。這個應(yīng)用程序服務(wù)器可以訂閱查詢通知,以便在數(shù)據(jù)庫中執(zhí)行了影響緩存數(shù)據(jù)的更新時,可以收到通知。應(yīng)用程序服務(wù)器然后可以動態(tài)地使用這個更新的數(shù)據(jù)來刷新緩存。
擴展分析服務(wù)
盡管SQL Server 2005分析服務(wù)器多維數(shù)據(jù)集通常是只讀的數(shù)據(jù)庫,但是每一個實例只維護自己的數(shù)據(jù)目錄。盡管你可以通過在多個服務(wù)器上同步多維數(shù)據(jù)集來創(chuàng)建分析服務(wù)數(shù)據(jù)庫的多個拷貝,但是多維數(shù)據(jù)集同步過程導(dǎo)致了許多業(yè)務(wù)環(huán)境中不能接受的延遲情況。SQL Server 2008分析服務(wù)通過支持部署擴展分析服務(wù),從而克服了這些問題,在部署過程中,分析服務(wù)數(shù)據(jù)庫的一個單獨的、統(tǒng)一的、只讀的拷貝將在多個實例間共享,并通過一個單獨的虛擬IP地址來訪問,如圖2所示。
總結(jié)
SQL Server 2008針對所有數(shù)據(jù)需求提供了一個豐富而強大的環(huán)境。通過其高級關(guān)系型數(shù)據(jù)庫引擎、分析服務(wù)、報表服務(wù)和集成服務(wù)提供了***的性能。新的結(jié)構(gòu)良好的工具和技術(shù)一起幫助公司部署任意規(guī)模的數(shù)據(jù)環(huán)境,并維護***的性能。SQL Server 2008支持***的技術(shù)趨勢,為公司提供了靈活擴展單獨的服務(wù)器和合并工作負載到這些服務(wù)器上的能力。它還給公司提供了擴展大型數(shù)據(jù)庫所必需的技術(shù)。
【編輯推薦】