當今世界是一個高度依賴於計算機系統的世界,資料庫中所存儲的數據代表了企業對於客戶、訂單、供應商、員工等所積累的知識。但是多少年來SQL Server行業內一直以來都缺少負載均衡的產品或方案。這既是由於資料庫引擎的事務性,也是由於資料庫處於系統的核心位置。任何在應用程式與資料庫之間的中間件都可能引入單點故障點。
在任何組織內,IT員工都必須要對是否對資料庫層面進行負載均衡做出決策,如果答案是肯定的,則還需要考慮資料庫層面的負載均衡是否適合或滿足現有系統架構的需要。莫比斯(Moebius)是一款基於SQL Server的產品,可以為非常複雜系統的負載均衡提供多種選項,來提升資料庫系統的安全性、性能和可用性。
基本介紹
- 中文名:莫比斯
- 外文名:Moebius
資料庫集群方案的演進
無集群
雙機共享存儲

- 硬體資源的嚴重浪費,同一時間集群中只有一台伺服器活著,其他伺服器只能作為冗餘伺服器。
- 集群無法提升性能,因為只有一台伺服器可用
- 存儲方面存在單點故障,除非在存儲層級保證高可用,通常需要昂貴的SAN存儲。
因此該類方案僅僅可以做到伺服器層面的高可用,無法帶來性能的提升,也無法解決存儲單點故障的問題。因此如果不搭配其他高可用或負載均衡的技術,存在的意義並不是很大。
另一類技術是Share-Disk中的雙活的技術,與單活技術不同的是,雙活的技術雖然也是共享磁碟,但集群中的所有節點都可以對外提供服務,典型的產品就是Oracle的RAC。RAC的技術性和購買成本都非常的高,因此需要水平比較高的人來運維系統。RAC設計的初衷並不是為了性能,而是為了高可用和擴展性,如果應用程式不是針對RAC架構設計和開發的,則將應用程式遷移到RAC上由於block contention (block busy waits)可能會導致性能的急劇下降,並且節點越多性能下降越明顯。
雙機不共享存儲

- 輔助節點數據和主節點保持同步或準同步,當搭配第三方仲裁後,可以實現自動的故障轉移,從而實現了高可用
- 輔助節點由於和主節點完全獨立,數據同步或準同步,因此主節點出現數據損壞後,可以從輔助節點恢複數據(自動或手動),從而保證了數據的安全性
- 由於Share-Nothing架構使用了本地存儲(或SAN),相較於Share-Disk架構在慢速網路時有非常大的性能優勢
當然,弊端也顯而易見,因為輔助節點無法對外提供服務或只能提供唯讀服務,因此該類集群的弊端包括: - 擴展能力非常有限
- 對性能沒有提升,因為涉及到各節點的數據同步,甚至帶來性能的下降
- 輔助節點如果可讀,雖然提升性能,但需要修改前端應用程式,對應用程式不透明
多機負載均衡


- 由於每一個節點都可以對外提供服務,因此可以提升性能
- 擴展性得到提升,可以通過向集群添加節點直接進行Scale-Out擴充
莫比斯(Moebius)集群
