截至到sql server 2008,微軟還是沒有推出負載均衡元件,只能通過sql server的其他技術特性或者利用第三方元件來diy,下面列出我在做專案時最常用到的幾個方案
端到端拓撲的事務性複製
sql server 2005對端到端(p2p)拓撲結構上事務性的複製加強了支援。p2p的拓撲結構支援無限的發布伺服器,它們彼此之間可以互相交換事務。
p2p拓撲是sql server的乙個巨大進步。現在,多端點伺服器可以更改資料,並且向其他的發布者複製事務。這就是說,訂閱伺服器不再被限制在主要的報告環境中,可以通過事務性負載全球共享的方式將伺服器分布開來。當使用者的數量增加的時候,只要簡單地向這個群體中新增伺服器即可。
除了將負載分布之外,這個拓撲結構還增加了可用性。如果任何乙個點的伺服器不可達,則池中其他伺服器就會共享這個負載,因為每個伺服器都有其他所有伺服器上可獲得的全部資料集合。
注意:因為資料的同步是非同步的,也就是說各個節點上的資料可能會是存在差異的,所以千萬不要把它當成真正的負載均衡。 它被設計出來是用來各個資料庫中心交換資料的,不是用來真正的做負載均衡的。
映象+快照
映象和快照是sql server 2005的另外兩個新特性,映象的主要用途是高可用性,正常情況下映象資料庫是不可用的,就這麼閒著顯然是太浪費了,可以對映象資料庫做個快照,然後把一些對於資料實時性要求不高的查詢轉移過來,這樣似乎也能分擔主庫的一些壓力。
把這個方案也叫負載均衡方案實在是勉為其難(我也是隨大溜按照別人的思路歸納的),因為快照不能建立的太頻繁,所以它的資料延時要比複製還要長,以小時記,因此轉移過來的查詢只能是一些報表之類的查詢。
moebius for sql server
這個方案是乙個第三方軟體,是從微軟出來的幾個人做的,說他們是微軟出來的並不是說他們的技術多厲害,而是他們利用sql server的一些內部介面把集群做的非常透明, 無論是應用程式的呼叫還是開發/管理人員的使用都和面對乙個資料庫一樣。
他們的實現原理是這樣的:和映象一樣,每個資料庫節點都有自己的資料,也就是無共享磁碟架構。他們稱之為「中介軟體」的程式宿主在資料庫的內部,每個節點資料庫上寫入資料導致資料變化時,sql server會啟用「中介軟體」,「中介軟體」把變化的資料同步到其他的節點上。其他節點發生變化也是一樣。因為「中介軟體」宿主在資料庫內, 所以它能夠把每個同步的session和sql server的session繫結到一起,也就是使使用者的執行和資料的同步成為乙個原子操作,從而保證資料在每時每刻都是一致的。
因此查詢可以隨便到每個機器上去查,從而做到了真正的負載均衡。
另外還包括什麼高可用性和虛擬ip什麼的,和oracle rac的比較像,我也沒有仔細研究。我覺得這屬於附屬功能了,關鍵點還是保證多個資料庫如何能一致。
SQL Server 負載均衡方案集錦
截至到sql server 2008,微軟還是沒有推出負載均衡元件,只能通過sql server的其他技術特性或者利用第三方元件來diy,下面列出我在做專案時最常用到的幾個方案 端到端拓撲的事務性複製 sql server 2005對端到端 p2p 拓撲結構上事務性的複製加強了支援。p2p的拓撲結構...
SQL Server 負載均衡方案集錦
隨著業務量的提高,以及訪問量和資料流量的快速增長,網路各個核心部分的處理效能和計算強度也相應增大,使得單一裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體公升級,必將造成現有資源的浪費,而且下一次業務量的提公升,又將導致再一次硬體公升級的高額成本投入。於是,負載均衡機制應運而生。對於資料...
SQL Server 負載均衡方案集錦
隨著業務量的提高,以及訪問量和資料流量的快速增長,網路各個核心部分的處理效能和計算強度也相應增大,使得單一裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體公升級,必將造成現有資源的浪費,而且下一次業務量的提公升,又將導致再一次硬體公升級的高額成本投入。於是,負載均衡機制應運而生。對於資料...