Mysql Cluster概述
MySql Cluster最顯著的優點就是高可用性,高實時性,高冗余,擴展性強。
它允許在無共享的系統中部署"內存中"數據庫的Cluster.通過無共享體系結構,系統能夠使用廉價的硬件.此外,由于每個組件有自己的內存和磁盤,所以不存在單點故障.
它由一組計算機構成,每臺計算機上均運行者多種進程,包括mysql服務器,NDB cluster的數據節點,管理服務啟,以及專門的數據訪問程序
所有的這些節點構成一個完整的mysql集群體系.數據保存在"NDB存儲服務器"的存儲引擎中,表(結構)則保存在"mysql服務器"中.應用程序通過"mysql服務器"訪問這些數據表,集群管理服務器通過管理工具(ndb_mgmd)來管理"NDB存儲服務器".
基本概念
"NDB"是一種"內存中"的存儲引擎,它具有可用性高和數據一致性好的特點.下面介紹mysql cluster 節點時,它表示進程.在單臺計算機上可以有任意數目的節點.
管理節點(MGM):這類節點的作用是管理mysql cluster內的其他節點,如配置文件和cluster 日志,啟動并停止節點,運行備份等.cluster中的每個節點從管理服務器上檢索配置數據,并請求管理服務器所在位置的方式.當數據節點內出現新的事件時,節點將關于這類事件的信息傳輸到管理服務器上,然后,又將這類信息寫入cluster日志。由于這類節點負責管理其他節點的配置,所以應在啟動其他節點之前首先啟動這類節點.MGM節點是用命令"ndb_mgmd"來啟動
數據節點(NDB):這類節點用于保存cluster的數據.數據節點的數目與副本的數目相關,是片段的倍數.假設有2個副本,每個副本有2個片段,那么就有4個數據節點.不過沒有必要設置多個副本.數據節點是用命令"ndbd"來啟動的.
SQL節點:這是用來訪問cluster數據的節點.對于MYSQL cluster來說,客戶端節點是使用NDB cluster存儲引擎的傳統Mysql服務器.通常,sql節點使用將"ndbcluster"添加到"my.cnf"后使用"mysqld" 啟動
此外,可以有任意數目的cluster客戶端進程或應該程序.它們分為兩種類型,即標準mysql客戶端和管理客戶端.
標準mysql客戶端:能夠從php,perl,c,c++,java,python,ruby等編寫的現有mysql應用程序上訪問mysql cluster
管理客戶端:這類客戶端與管理服務器相連,并提供了啟動和停止節點,啟動和停止消息跟蹤,顯示節點版本和狀態,啟動和停止備份等命令.
以下是mysql cluster 架構示意圖:

由于Mysql Cluster采用的是TCP/IP方式連接,并且節點之間的數據傳輸沒有加密,最后使用單獨的子網里.
下面來實施部署
新聞熱點
疑難解答