2009-06-17 70 views
4

我對DBA的問題有疑問:如果我從單個Web /數據庫服務器設置擴展到兩個Web/2數據庫服務器設置,並在Web服務器前使用負載均衡器來均勻地路由傳入查詢......做類似MySQL Cluster的解決方案,以便對一個數據庫服務器所做的更改立即爲其他數據庫所知(否則,路由到其他數據庫服務器的用戶將不會看到數據或將過時的數據),或者至少使另一個數據庫服務器Web服務器意識到它正在讀取「髒數據」,並且應該在X秒內再次嘗試以獲取最新數據?數據庫集羣如何工作?

謝謝。

回答

2

在Windows服務器集羣(從高性能聚類區別),有一個共享的外部存儲陣列。活動節點獲取存儲的所有權/控制權,並且當該節點發生故障時,存儲會'故障轉移'到先前被動節點(現在是主動節點)。也有不同的方案允許在每個節點獨立存儲,而不是共享存儲。但是,這些要求應用程序具有足夠的智能以瞭解它是否已羣集,並使兩個存儲集保持同步。

3

這樣做的兩種方法。 主動/主動或主動/被動。主動/被動最普遍 數據在被動節點上保持同步。 羣集是有用的配置,儘管主動節點停止被動立即切換,因此沒有停機時間。 羣集持續同步羣集中的2個節點。

我使用SQL服務器,但我認爲羣集的基本前提對於mySQL是一樣的 - 在硬件故障中沒有(或沒有明顯的)停機時間。

編輯:此外,羣集軟件處理同步。你不必擔心。您將羣集節點視爲虛擬目錄,其行爲與Windows中的一臺服務器相似。

這裏文件,解釋該

http://www.sql-server-performance.com/articles/clustering/clustering_intro_p1.aspx

+0

至少有明顯停機時間的可能性較低。仍然有可能。 – Sev 2009-06-17 07:56:16

0

集羣也是許多節點處理工作負載的地方,有時也稱爲主動/主動集羣,即所有節點共享工作負載並處於活動狀態。這通常由像Oracle RAC([email protected])這樣的專用軟件來處理Oracle RDBMS數據庫。 RAC允許Oracle擴展到非常大的工作負載。