標籤:http ar strong for 資料 問題 sp on html
本文來自:http://tech.it168.com/a2012/0110/1300/000001300144_all.shtml
【IT168 技術】隨著互連網應用的廣泛普及,海量資料的儲存和訪問成為了系統設計的瓶頸問題。對於一個大型的互連網應用,每天百萬級甚至上億的PV無疑對資料庫造成了相當高的負載。對於系統的穩定性和擴充性造成了極大的問題。
一、負載平衡技術
負載平衡叢集是由一組相互獨立的電腦系統構成,通過常規網路或專用網路進行串連,由路由器銜接在一起,各節點相互協作、共同負載、均衡壓力,對用戶端來說,整個群集可以視為一台具有超高效能的獨立伺服器。
1、實現原理
實現資料庫的負載平衡技術,首先要有一個可以控制串連資料庫的控制端。在這裡,它截斷了資料庫和程式的直接連接,由所有的程式來訪問這個中介層,然後再由中介層來訪問資料庫。這樣,我們就可以具體控制訪問某個資料庫了,然後還可以根據資料庫的當前負載採取有效均衡策略,來調整每次串連到哪個資料庫。
2、實現多資料庫資料同步
對於負載平衡,最重要的就是所有伺服器的資料都是即時同步的。這是一個叢集所必需的,因為,如果數不據即時、不同步,那麼使用者從一台伺服器讀出的資料,就有別於從另一台伺服器讀出的資料,這是不能允許的。所以必須實現資料庫的資料同步。這樣,在查詢的時候就可以有多個資源,實現均衡。比較常用的方法是Moebius for SQL Server叢集,Moebius for SQL Server叢集採用將核心程式駐留在每個機器的資料庫中的辦法,這個核心程式稱為Moebius for SQL Server 中介軟體,主要作用是監測資料庫內資料的變化並將變化的資料同步到其他資料庫中。資料同步完成後用戶端才會得到響應,同步過程是並發完成的,所以同步到多個資料庫和同步到一個資料庫的時間基本相等;另外同步的過程是在事務的環境下完成的,保證了多份資料在任何時刻資料的一致性。正因為Moebius 中介軟體宿主在資料庫中的創新,讓中介軟體不但能知道資料的變化,而且知道引起資料變化的SQL語句,根據SQL語句的類型智能的採取不同的資料同步的策略以保證資料同步成本的最小化。
資料條數很少,資料內容也不大,則直接同步處理資料
資料條數很少,但是裡麵包含大資料類型,比如文本,位元據等,則先對資料進行壓縮然後再同步,從而減少網路頻寬的佔用和傳輸所用的時間。
資料條數很多,此時中介軟體會拿到造成資料變化的SQL語句, 然後對SQL語句進行解析,分析其執行計畫和執行成本,並選擇是同步資料還是同步SQL語句到其他的資料庫中。此種情況應用在對錶結構進行調整或者批量更改資料的時候非常有用。
3、優缺點
(1) 擴充性強:當系統要更高資料庫處理速度時,只要簡單地增加資料庫伺服器就 可以得到擴充。
(2) 可維護性:當某節點發生故障時,系統會自動檢測故障並轉移故障節點的應用,保證資料庫的持續工作。
(3) 安全性:因為資料會同步的多台伺服器上,可以實現資料集的冗餘,通過多份資料來保證安全性。另外它成功地將資料庫放到了內網之中,更好地保護了資料庫的安全性。
(4) 易用性:對應用來說完全透明,叢集暴露出來的就是一個IP
(1) 不能夠按照Web伺服器的處理能力分配負載。
(2) 負載平衡器(控制端)故障,會導致整個資料庫系統癱瘓。
SQL Server資料庫大型應用解決方案總結