2005-12-02

MySQL Cluster 初步 Study ( 內容有錯誤,請指教 )

#Mysql 5 up
#內容有錯誤,請指教

MySQL 的 Cluster 是在原本的 MySQL Server 架構下建立一個 in-memory 的 "clustered storage engine"(術語 NDB)

每一個資料庫在這個架構下都稱為一個"node",而這些"node"必要有一台"management server"來管理,而除了將資料庫成為一個"data node",還會產生一個叫"mysql server"的"sql node",以供應用程式 access,當資料透過"sql node"寫進某一個"date node",這時就會將資料由這個"data node"立即的更新到其他的"data node"

*所謂的"management server"指的可以說是一個 mysql cluster 裡的行程,也可以算是一個"node",而且它必須是優先啟動於其他"data node",因為其他的"data node"會讀取它的 configuration data,並且透過它來管理每一個"data node"跟備份還有 log

*"這裡的 data-node" 指的不是單一台電腦,而是在指 mysql cluster 的 process,也就是說,每一台單一實體 mysql server,可以建立許多個"Mysql Cluster 的 data node"

*sql-node指的則是用來跟 data-node"溝通"的管道,在 Mysql Cluster 的架構下,application 是透過 sql-node 來 access,並非直接對"db" access

而NDB也可以設定 failover (意思就是當某一台掛掉,另一台可以接續它的工作繼續服務)跟 load-blance

所以大概得出的結論
1.Mysql 以 process 的方式來"模擬" Cluster
2.因為每個 data-node 都是一個 process,所以所等於是先在 memory 動作,之後它的 cluster 機制會再自己寫回實體 db
3.因此可以達到單一實體 server 做 mysql cluster...( 好像蠻噁心 )

MySQL Cluster Overview
Basic MySQL Cluster Concepts

沒有留言: