今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL集群Cluster基本原理。
一、MySQL集群Cluster原理
MySQL Cluster是MySQL集群的一种常用技术,适合于分布式计算环境下高冗余高实用版本。在MySQL Cluster中,对数据库的结构和功能进行了拆分,分成了SQL节点、管理节点和存储节点三块。每个设备可以只发挥其中一部分的作用,并且多个设备之间可以组件集群,实现冗余备份,防止单点故障。并且,使用MySQL Cluster可以使用多个廉价的设备,达到较高的性能。
MySQL集群架构如下所示:
SQL节点负责与WEB应用程序交互,承接来自上层的SQL命令,所有的数据节点可以起到相同的作用,在任何一个SQL节点上的命令都会在系统中生效,这样,SQL节点可以起到互相备份和负载分担的作用,可以防止单点故障。数据节点用于存储数据,每个数据节点都会存储所有的数据,这样当一个数据节点宕机后,还会有其他的数据节点可以存储数据,系统仍然可以使用。管理节点起到联系并管理整体架构的作用。
二、NDB引擎介绍
在MySQL实现集群Cluster架构中,存储节点使用的存储引擎为NDB引擎。NDB引擎是一种分布式的基于内存的引擎,因此作为MySQL集群Cluster架构中的存储节点,内存一定要足够大。
使用NDB引擎有以下优点:
1、基于内存存储,没有磁盘I/O瓶颈,速度快。
2、扩展性好,增加节点即可实现数据库集群Cluster的扩展。
3、冗余性好,单个节点故障,集群还可以提供服务。
同时,NDB引擎也有以下缺点:
1、由于存储基于内存,因此在设备断电后数据即丢失。
2、存储空间大小受内存大小限制。
3、多个节点分布式架构整体速度受会网络速度影响。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200