MySQL Cluster基础介绍
文章目录
存在的局限
以下列举的比较重要的,更多限制请参照官方文档
-
不支持临时表
TEMPORARY
-
不支持在
TEXT
和BLOB
列上创建索引 -
不支持
FULLTEXT
索引 -
在宽度大于3072字节的表列上创建索引不会成功,实际仅前3072字节的内容有索引
-
不支持前缀索引
-
不支持
SET DEFAULT
-
NDB
存储引擎只支持基于LINEAR KEY
与KEY
的自定义分区 -
使用
NDB
存储引擎时不支持外键,InnoDB
支持,但有限制 -
不支持删除分区
核心概念
管理节点
管理节点:这种类型的节点的作用是管理NDB群集中的其他节点,执行诸如提供配置数据,启动和停止节点以及运行备份之类的功能。由于此节点类型管理其他节点的配置,因此应首先启动此类型的节点,然后再启动任何其他节点。使用命令ndb_mgmd
启动管理节点
数据节点
这种类型的节点存储集群数据。数据节点的数量等于片段副本的数量乘以片段数量。例如,对于两个片段副本,每个片段副本都有两个片段,需要四个数据节点。一个片段副本足以存储数据,但不提供冗余。使用命令ndbd
启动数据节点
SQL
节点
这是访问集群数据的节点。对于NDB
群集,SQL
节点是使用NDBCLUSTER
存储引擎的传统MySQL服务器。
节点组
多个数据节点组成一个节点组,节点组不能手动配置,由函数nodeGroups = dataNodes / Replicas
决定。比如四个节点,复制为1,则有四个组。需要注意的是所有节点组必须具有相同数量的数据节点。如果要往节点组添加数据节点,则所有组都需要添加。
分区
集群会自动对使用NDBCLUSTER
存储引擎的表进行分区,分区由函数partitions = dataNodes * LDMthreads
,默认数据节点的LDMthreads
数为1,该参数由MaxNoOfExecutionThreads
控制,当值小于等于3时,LDMthreads
也会被视为1。
片段副本
这是群集分区的副本。节点组中的每个节点都存储一个片段副本。有时也称为 分区副本。片段副本的数量等于每个节点组的节点数量
文章作者 UnknowName
上次更新 2020-09-11