程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL Cluster 概念詳解

MySQL Cluster 概念詳解

編輯:MySQL綜合教程

我們大家都知道MySQL Cluster 是一種技術,其主要功能是在無共享的相關系統中部署內存中數據庫的 Cluster 。在通過無共享體系結構,系統能夠使用廉價的硬件,而且對軟硬件無特殊要求。

此外,由於每個組件有自己的內存和磁盤,不存在單點故障。

MySQL Cluster 由一組計算機構成,每台計算機上均運行著多種進程,包括MySQL服務器,NDB Cluster 的數據節點,管理服務器,以及可能)專門的數據訪問程序。關於 Cluster 中這些組件的關系,請參見下圖:

MySQL Cluster

所有的這些節點構成一個完成的MySQL集群體系。數據保存在“NDB存儲服務器”的存儲引擎中,表結構)則保存在“MySQL服務器”中。應用程序通過“MySQL服務器”訪問這些數據表,集群管理服務器通過管理工具(ndb_mgmd)來管理“NDB存儲服務器”。

通過將MySQL Cluster 引入開放源碼世界,MySQL為所有需要它的人員提供了具有高可用性、高性能和可縮放性的 Cluster 數據管理。

MySQL Cluster 基本概念

“NDB” 是一種“內存中”的存儲引擎,它具有可用性高和數據一致性好的特點。

MySQL Cluster 能夠使用多種故障切換和負載平衡選項配置NDB存儲引擎,但在 Cluster 級別上的存儲引擎上做這個最簡單。MySQL Cluster的NDB存儲引擎包含完整的數據集,僅取決於 Cluster本身內的其他數據。

目前,MySQL Cluster的 Cluster部分可獨立於MySQL服務器進行配置。在MySQL Cluster中, Cluster的每個部分被視為1個節點。

管理(MGM)節點:這類節點的作用是管理MySQL Cluster內的其他節點,如提供配置數據、啟動並停止節點、運行備份等。由於這類節點負責管理其他節點的配置,應在啟動其他節點之前首先啟動這類節點。MGM節點是用命令“ndb_mgmd”啟動的。

數據節點:這類節點用於保存 Cluster的數據。數據節點的數目與副本的數目相關,是片段的倍數。例如,對於兩個副本,每個副本有兩個片段,那麼就有4個數據節點。不過沒有必要設置多個副本。數據節點是用命令“ndbd”啟動的。

SQL節點:這是用來訪問 Cluster數據的節點。對於MySQL Cluster,客戶端節點是使用NDB Cluster存儲引擎的傳統MySQL服務器。通常,SQL節點是使用命令“mysqld –ndbcluster”啟動的,或將“ndbcluster”添加到“my.cnf”後使用“mysqld”啟動。注釋:在很多情況下,術語“節點”用於指計算機,但在討論MySQL Cluster時,它表示的是進程。在單台計算機上可以有任意數目的節點,為此,我們采用術語“ Cluster主機”。

管理服務器(MGM節點)負責管理 Cluster配置文件和 Cluster日志。 Cluster中的每個節點從管理服務器檢索配置數據,並請求確定管理服務器所在位置的方式。當數據節點內出現新的事件時,節點將關於這類事件的信息傳輸到管理服務器,然後,將這類信息寫入 Cluster日志。

此外,可以有任意數目的 Cluster客戶端進程或應用程序。它們分為兩種類型:

標准MySQL客戶端:對於MySQL Cluster,它們與標准的非 Cluster類)MySQL沒有區別。換句話講,能夠從用PHP、Perl、C、C++、Java、Python、Ruby等編寫的現有MySQL應用程序訪問MySQL Cluster。

管理客戶端:這類客戶端與管理服務器相連,並提供了啟動和停止節點、啟動和停止消息跟蹤僅調試版本)、顯示節點版本和狀態、啟動和停止備份等的命令。

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