程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 讓SQL Server為工作負載高峰提前准備

讓SQL Server為工作負載高峰提前准備

編輯:關於SqlServer

毫無疑問,許多電子商務網站都經歷過假期的高訪問量。例如,1-800-Flowers.com公司(1-800-Flowers.com網站)就在情人節、母親節、聖誕節、復活節、感恩節、秘書節,以及團隊感謝周那一天遇到了劇增的訂單。還有其他大多數的在線零售商也都經歷過從感恩節一直持續到12月26日的訂貨高峰期。

那麼你從這些公司身上可以了解到,他們需要保持高可用性,快速運行的數據庫。下面我將按照以下的總體概念和清單,討論幾種你可以應對高峰來臨的方式。

可用性方法

集群

高可用性通常包含了集群。當你需要較高級別的正常運轉時間的時候,你需要對SQL Server進行集群,由以下幾部分組成,有幾個節點集合在一起形成的一個單個實例的集群,他們在面對客戶的時候表現為一個單個的節點。如果集群中的一個節點掉線了(由於SQL Server錯誤,硬件錯誤或者維護),其他的節點將會自動接過它的工作負載。客戶根本不需要重新連接到其他的節點上,因為這些節點都連接到一個虛擬的服務器上,它漂浮在所有活動節點之上。

集權提供了對硬件和軟件錯誤的自動錯誤容忍,但是它通常不會提供對本地錯誤的容忍(例如,放置集群的大廈或者房間內的電源壞了)。注意力應該放在消除單個點的失敗,例如冗余電源供應或者備用的發電機能源。

地理集群和負載均衡

其他的高可用性方法包括地理集群,集群節點分布在不同的位置上;或者地理負載均衡,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中的點對點應用程序就被恰好是為這種類型的縮小規模設計的。

注意,SQL Server不能自動將負載分散給其他的SQL Server。你需要均衡網絡負載,一邊將負載分布到多個網絡服務器上,並且聯盟中的每個網絡服務器上都安裝一個或者多個SQL Server。

理解工作流

電子商務公司整年都在准備他們的旺季銷售高峰。系統架構師研究工作流,以便於理解事務中的哪一個處理是必需的,哪一個可以是批量處理的,哪一個是可以從其他機器的並行處理中受益的。

考慮一下一般的下訂單的操作。輸入信用卡並且在網頁上經過驗證,確保數字以某個序列開始,並且滿足一定的長度。這個步驟可以在浏覽器上進行,這樣就可以不用占用網絡服務器的處理器周期。信用卡交費通常是沒有經過授權的,因為網絡服務呼叫會在這一點上慢下來,導致整體的可測量性解決方案等級下降。如果不需要網絡服務呼叫認證每一個信用卡事務,那麼電子商務網站就可以支持好幾千個,甚至更多的頁面。信用卡將會在稍後大批處理過程中進行處理。

正如上面的例子所演示等,通過仔細查看工作流,系統架構師辨認出可以異步執行的處理,那麼整體的可測量性方案等級將會上升。

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