SQL Server 負載均衡方案集錦

2021-09-21 12:37:01 字數 2063 閱讀 4015

隨著業務量的提高,以及訪問量和資料流量的快速增長,網路各個核心部分的處理效能和計算強度也相應增大,使得單一裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體公升級,必將造成現有資源的浪費,而且下一次業務量的提公升,又將導致再一次硬體公升級的高額成本投入。於是,負載均衡機制應運而生。

對於資料庫負載均衡,大家最為耳熟能詳的就是oracle rac了。下面,我們先簡單了解oracle rac的實現方法。

rac是雙機並行伺服器(8i及以前版本稱作oracle parallel server,ops),用來在集群環境下實現多機共享資料庫,以保證應用的高可用性,同時可以自動實現並行處理及均分負載,還能實現資料庫在故障時的排錯和無斷點恢復。它可以自動進行負載平衡、故障修復和規劃停機時間,以支援高可用性應用程式。若並行伺服器中某節點失效,透明的應用程式容錯能夠把使用者自動轉接到另一節點上繼續執行,應用程式在使用者沒有察覺的情況下繼續執行。這使週期性和非週期性發生故障的系統增大了連續可用性。程序的失效可以完全透明地轉移到另一節點上去,通過適當地配置,可以指定所有查詢都在客戶端進行快取,這樣它們便可以在轉移後的節點上重新設定。

截至到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的比較像,我也沒有仔細研究。我覺得這屬於附屬功能了,關鍵點還是保證多個資料庫如何能一致。

拋磚引玉,我只是簡單說了一下每個方案的實現原理,理論指導實踐,有了方法接下來就是重複的枯燥的實踐了。 祝大家實踐快樂,並最終招到自己心目中完美的解決方案。

=晚了,沒找到相關的部署文件,但是找到乙份國內一家**商的宣傳文件,給大家看看,絕對不是託哦===

moebius_for_sql_server負載均衡集群.pdf

SQL Server 負載均衡方案集錦

截至到sql server 2008,微軟還是沒有推出負載均衡元件,只能通過sql server的其他技術特性或者利用第三方元件來diy,下面列出我在做專案時最常用到的幾個方案 端到端拓撲的事務性複製 sql server 2005對端到端 p2p 拓撲結構上事務性的複製加強了支援。p2p的拓撲結構...

SQL Server 負載均衡方案集錦

截至到sql server 2008,微軟還是沒有推出負載均衡元件,只能通過sql server的其他技術特性或者利用第三方元件來diy,下面列出我在做專案時最常用到的幾個方案 端到端拓撲的事務性複製 sql server 2005對端到端 p2p 拓撲結構上事務性的複製加強了支援。p2p的拓撲結構...

SQL Server 負載均衡方案集錦

隨著業務量的提高,以及訪問量和資料流量的快速增長,網路各個核心部分的處理效能和計算強度也相應增大,使得單一裝置根本無法承擔。在此情況下,如果扔掉現有裝置去做大量的硬體公升級,必將造成現有資源的浪費,而且下一次業務量的提公升,又將導致再一次硬體公升級的高額成本投入。於是,負載均衡機制應運而生。對於資料...