資料庫叢集(一)MySQLCluster入門,叢集mysqlcluster
最近,公司正打算做ITOO產品,所以前期的技術調研是必不可少的。
本文的將對MySQL Cluster進行簡要介紹:
(一)概述
MySQL cluster是Mysql適用於分散式運算機環境的膏使用、高冗餘版本。
Cluster的意思是“叢集”,指一組電腦(在某些情況下也只電腦的進程),他們作為一個整體向使用者提供一組網路資源,其中單個的電腦系統稱作是叢集的節點。
一個理想的叢集是,使用者從來不會意識到叢集系統底層的節點,在使用者看來,叢集是一個系統,而不是多個電腦系統。
除此之外,叢集的系統管理員可以隨意增加和刪除叢集的節點。
叢集一般分為以下兩類:
1、高可用叢集
致力於提供高度可靠的服務,目的在於減少服務停機時間。如果某個節點失效,他的冗餘節點將在極短的時間內接管他的職責。對於使用者而來,叢集永遠不會停機。
分為兩種工作方式:
1)容錯系統:通常是主從伺服器方式。只有當主伺服器時效,從伺服器立刻代替主伺服器向客戶提供服務。
2)負載平衡系統:急群眾的所有節點都處於活動狀態,它們分攤系統的工作負擔。
2、高效能運算機群
簡稱HPC叢集,目的在於提供單個電腦所不能提供的強大的計算能力。將問題分解為若干分,多節點同時工作,從而縮短解決問題的時間。
(二)階層
有3類節點:
1、管理節點,Management Node
是整個叢集的控制中心,負責各個節點的增加、杉樹、啟動、停止等。在啟動MySQL Cluster時,必須先啟動管理節點。
啟動命令是ndb_mgmd
2、資料節點,Data Node
用於存放資料。叢集中至少要有一個資料節點。有兩個以上的資料節點可保證叢集的高可用性。
增加資料節點,會導致叢集的處理速度變慢。
啟動命令:ndbd
3、SQL節點
就是普通的mysqld進程,用來訪問Cluster的資料。
增加sql節點可提高整個叢集的並發訪問速度和整體的輸送量
啟動命令:mysqld -ndbCluster
MySQL Cluster的階層如下:
Application,代表應用程式,比如:網頁
sql,實質就是mysqld進程,為其他應用程式提供讀取、寫入MySQL資料庫服務的介面。
storage,是存放資料的地區,具有高冗餘性。
Management,是整個叢集的管理中樞,具有最高的控制許可權。