程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 五種MySQL數據庫可靠性方案的分析和比較

五種MySQL數據庫可靠性方案的分析和比較

編輯:MySQL綜合教程

  這篇文章主要從基本情況、成本、優缺點和應用場合等方面對5種MySQL的可靠性方案進行了詳細的分析和比較,另外,本文對MySQL數據庫的開發和管理有一定的借鑒作用。詳細內容請大家參考下文:

  1.MySQL Clustering(ndb-cluster stogare)

  簡介:

  MySQL公司以存儲引擎方式提供的高可靠性方案,是事務安全的,實時復制數據,可用於需要高可靠性及負載均衡的場合。該方案至少需要三個節點服務器才能達到較好的效果。

  成本:

  節點服務器對RAM的需求很大,與數據庫大小呈線性比例;

  最好使用千兆以太網絡;

  還需要使用Dolphin公司提供的昂貴的SCI卡。

  優點:

  可用於負載均衡場合;

  可用於高可靠性場合;

  高伸縮性;

  真正的數據庫冗余;

  容易維護。

  缺點:

  隨著數據庫的變大,對RAM的需求變得更大,因此成本很高;

  速度:

  幾乎 比典型的單獨服務器(無千兆以太網,無SCI卡,存儲引擎相關的限制少)慢10倍。

  應用場合:

  冗余,高可靠性,負載均衡

  2. MySQL / GFS-GNBD/ HA (Active/Passive)

  簡介:

  如果多個MySQL服務器使用共享硬盤作為數據存儲,此方案如何?

  GFS/GNBD可以提供所需的共享硬盤。

  GFS是事務安全的文件系統。同一時刻你可以讓一個MySQL使用共享數據。

  成本:

  最多n台高性能服務器的成本,其中一個激活的,其他作為備份服務器。

  優點:

  高可靠性

  某種程度的冗余

  按照高可靠性進行伸縮

  缺點:

  沒有負載均衡

  沒有保證的冗余

  無法對寫操作進行伸縮

  速度

  單獨服務器的2倍。對讀操作支持得較好。

  應用場合

  需要高可靠性的、讀操作密集型的應用

  3. MySQL / DRBD / HA (Active/Passive)

  簡介:

  如果多個MySQL服務器使用共享硬盤作為數據存儲,此方案如何?

  DRBD可以提供這樣的共享硬盤。DRBD可以被設置成事務安全的。

  同一時刻你可以讓一個MySQL使用共享數據。

  成本:

  最多n台高性能服務器的成本,其中一個激活的,而其他則作為備份服務器。

  優點:

  高可靠性;

  一定程度的冗余;

  以高可靠性名義來看是可伸縮的。

  缺點:

  沒有負載均衡

  沒有保證的冗余

  在寫負載方面沒有伸縮性

  速度:

  在讀寫方面相當於單獨服務器

  應用場合

  需要高可靠性、讀操作密集型的應用

  4. MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)

  簡介:

  考慮不同的讀、寫DB數據庫連接的情況。可以使用一台主服務器用於寫操作,而采用n台從服務器用於讀操作。

  成本:

  最多1台高性能寫服務器,n台讀服務器的成本

  優點:

  讀操作的高可靠性;

  讀操作的負載均衡;

  在讀操作負載均衡方面是可伸縮的。

  缺點:

  無寫操作的高可靠性;

  無寫操作的負載均衡;

  在寫操作方面無伸縮性;

  速度:

  同單獨服務器;在讀操作方面支持得較好

  應用場合

  讀操作密集型的、需要高可靠性和負載均衡的應用。

  5. Standalone MySQL Servers(Functionally separated) (Active)

  多台功能分離的單獨服務器,沒有高可靠性、負載均衡能力,明顯缺點太多,不予考慮。

  總結:

  MySQL官方網站推薦的HA方案是結合DRBD (本文中的方案3) 和 Replication (本文中的方案4)。假如再加上Linux Heartbeat還可實現Auto-failover功能,在此種情況下,我們會發現,down機時間會大大減少。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved