MySQL學習筆記02MySQL叢集相關概念

來源:互聯網
上載者:User

標籤:mysql叢集   dex   scale   自動   images   全文索引   儲存引擎   限制   lin   

1.1.1.  MySQL叢集基本架構

本文所介紹的MySQL叢集指基於NDBCluster的MySQL 叢集。 一個MySQL叢集包含一個或多個Management Node、Data Node和SQL Node。

管理節點Management Node:用於對叢集本身的管理,運行ndb_mgmd服務。應當首先啟動管理節點,再啟動其它節點。

資料節點Data Node:用於儲存叢集的資料,運行ndbmtd或ndbd服務。資料節點支援複製。

SQL節點SQL Node:用於對外提供SQL查詢服務,運行mysqld服務,其中的資料表使用ndbcluster儲存引擎。

NDBCluster:NDBCluster是MySQL提供的一種基於記憶體的儲存引擎,提供了高可用和資料持久化的特性。 MySQL還提供了其它的儲存引擎,包括MyISAM和InnoDB以及Memory等幾種。

MySQL叢集的節點之間的關係可以使用描述。

 

 

1.1.2.  節點分組、資料分區以及複製

 

(1)MySQL Cluster的資料表在資料節點中的分布方式:

MySQL Cluster中的資料節點可以成一個或多個節點群組(Node Group)。而一個資料表可以分成一個或多個分區(Partition)。每個分區的資料存在在一個節點群組中的多個節點中,這些節點中的分區互為複製(Replicas)。

展示了一個資料表分為4個分區P1,P2,P3,P4時各個分區在4個節點N1,N2,N3,N4組成的2個節點群組G1,G2中的分布情況。P1和P2分佈於G1中,P3和P4分佈於G2中。任何一個分區至少同時儲存於2個節點中。

 

 

 

 

(2)這種基於節點分組和資料分區的分布方式的優點:

在任何資料節點的單點失敗時,該節點所儲存的資料在其它節點還存在至少一份複製品。從而避免了單點故障造成叢集失效。

 

 

 

 

1.1.3.  NDBCluster和InnoDB的比較

NDBCluster和InnoDB這兩種儲存引擎的比較結果見下表:

本表資料來源於MySQL叢集官方文檔https://dev.mysql.com/doc/index-cluster.html。

 

特性

InnoDB

NDBCluster

MySQL server版本

5.7

5.7

InnoDB版本

5.7.20

5.7.20

NDBCluster版本

N/A

7.5.8/7.6.4

資料量

64TB

128TB

交易隔離等級

所有層級

READ COMMITTED

MVCC

支援

不支援

資料壓縮

支援

不支援

大的資料行(>14KB)

VARBINARY,VARCHAR,

BLOB,TEXT

BLOB,TEXT

複製

MySQL Replication:

非同步複製、半同步複製

叢集內部:自動同步複製;

叢集之間:非同步複製(MySQL Replication)。

讀操作橫向擴充(scale out)

MySQL Replication

叢集內部:自動分區;

叢集之間:複製。

寫操作橫向擴充(scaleout)

不支援。

應用程式層級的分區

支援。

叢集內部:自動分區。

高可用(HA)

InnoDB cluster

NDBCluter 99.999%

節點失效恢複和容錯移轉

MySQL 分組複製

NDBCluster體繫結構提供支援

節點失效恢復

>=30秒

<=1秒

即時效能

N/A

支援

並發寫

支援

最多48個並發寫

複製衝突檢測和解決

支援

支援

雜湊索引

不支援

支援

線上添加節點

MySQL分組複製添加讀寫節點

添加任何節點

 

 

 

 

 

 

1.1.4.  NDBCluster的限制

 

使用NDBCluster儲存引擎時存在以下的限制:

(1)不支援臨時資料表。

(2)不能為TEXT和BLOG類型的列建立索引。

(3)不支援FULLTEXT全文索引。

(4)使用雜湊索引時不應該有NULL,否則導致全表掃描。

(5)不支援首碼索引。

(6)位(BIT)列不能作為主鍵。

(7)AUTO_INCREMENT列只能用於主鍵。

(8)外鍵限制:被引用的外鍵欄位如果不是主鍵,則必須有UNIQUE索引。

(9)ON UPDATE CASCADE:當主表中的欄位為主表的主鍵時,不被支援。

(10)交易隔離等級:僅支援READ COMMITTED隔離等級。

 

MySQL學習筆記02MySQL叢集相關概念

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.