讓SQL Server為工作負載高峰提前做好準備[1] 軟件測試
毫無疑問,許多電子商務網站都經歷過假期的高訪問量。例如,1-800-Flowers.com公司(1-800-Flowers.com網站)就在情人節、母親節、圣誕節、復活節、感恩節、秘書節,以及團隊感謝周那一天遇到了劇增的訂單。還有其他大多數的在線零售商也都經歷過從感恩節一直持續到12月26日的訂貨高峰期。
那么你從這些公司身上可以了解到,他們需要保持高可用性,快速運行的數據庫。下面我將按照以下的總體概念和清單,討論幾種你可以應對高峰來臨的方式。
可用性方法
集群
高可用性通常包含了集群。當你需要較高級別的正常運轉時間的時候,你需要對SQL Server進行集群,由以下幾部分組成,有幾個節點集合在一起形成的一個單個實例的集群,他們在面對客戶的時候表現為一個單個的節點。如果集群中的一個節點掉線了(由于SQL Server錯誤,硬件錯誤或者維護),其他的節點將會自動接過它的工作負載??蛻舾静恍枰匦逻B接到其他的節點上,因為這些節點都連接到一個虛擬的服務器上,它漂浮在所有活動節點之上。
集權提供了對硬件和軟件錯誤的自動錯誤容忍,但是它通常不會提供對本地錯誤的容忍(例如,放置集群的大廈或者房間內的電源壞了)。注意力應該放在消除單個點的失敗,例如冗余電源供應或者備用的發電機能源。
地理集群和負載均衡
其他的高可用性方法包括地理集群,集群節點分布在不同的位置上;或者地理負載均衡,IP地址客戶可以在主要的數據中心和災難恢復網站之間交換。
EMC公司,日立數據系統公司,還有現在的收購了賽門鐵克的Veritas軟件公司都提供了硬件的數據鏡像,它可以提供持續的復制,這樣災難恢復網站就可以保證擁有你的數據的實時拷貝。硬件數據鏡像工具可以用于連接地理IP解決方案,為災難恢復網站提供自動化的錯誤恢復。
縮小規模
你還可以利用縮小規模的方法來將你的數據分散到多個工作機器上。不再讓1000個用戶都連接到一個SQL Server上,而是讓10個SQL Server上分別連接100個用戶。你的數據訪問模式必須要與此相匹配,客戶連接到哪個SQL Server都沒關系,或者你必須要激活粘性會話。通過這種方式,每個客戶在其會話長度內都連接到一個單個的SQL Server上。
例如,如果你的聯盟中有10個SQL Server提供分類信息,并且在這10個SQL Server之間的數據也是相同的,那么客戶連接到哪個SQL Server上,然后又重新連接到哪個SQL Server上,這都沒有關系。SQL Server 2005中的點對點應用程序就被恰好是為這種類型的縮小規模設計的。
原文轉自:http://www.anti-gravitydesign.com