首页 » 网站推广 » phpmysql集群道理技巧_MySQL集群Cluster详解基本事理

phpmysql集群道理技巧_MySQL集群Cluster详解基本事理

访客 2024-12-10 0

扫一扫用手机浏览

文章目录 [+]

MySQL Cluster是MySQL集群的一种常用技能,也是MySQL官方供应的,多主多从构造,该技能许可在无共享的系统中支配“内存中”数据库的Cluster。
通过无共享体系构造,系统能够利用廉价的硬件,而且对软硬件无分外哀求。
适用于分布式打算环境下的高冗余、高实用版本。
对数据库的构造和功能进行了拆分,分成了管理节点、数据存储节点和SQL节点。
每个设备可以只发挥个中一部分浸染,并且多个设备之间可以进行组件集群,实现冗余备份,防止单点故障。

MySQL Cluster由一组打算机组成,每台打算机上均运行多种进程,包括MySQL做事器,管理做事器,MySQL Cluster数据节点,以及(可能)专门的数据访问运用程序。

phpmysql集群道理技巧_MySQL集群Cluster详解基本事理

MySQL集群架构如下所示:

phpmysql集群道理技巧_MySQL集群Cluster详解基本事理
(图片来自网络侵删)

MySQL集群架构图

SQL节点:对外供应访问MySQL集群的入口,该节点可以有多个。
卖力与WEB运用程序交互,承接来自上层的SQL命令,所有的数据节点可以起到相同的浸染,在任意一个SQL节点上的命令都会在系统中生效,从而可以起到相互备份和负载分担的浸染,可以防止单点故障。

数据节点:用于存储数据,集群中有多个数据节点,每个数据节点都会存储所有数据,这样当一个数据节点宕机后,还会有其他的数据节点存储数据,系统仍旧可以连续利用。
数据节点的数目与副本的数目干系,是片段的倍数。
例如,对付两个副本,每个副本有两个片段,那么就有4个数据节点。

图-1

如图-1,集群中存在四个数据节点,分别是Node1、Node2、Node3、Node4,集群数据分区存储,个中Node1存储数据的partition 0,同时存储partition 2的一个备份副本用作冗余。
其他节点类似。
这样设计的好处如以下:图-2,

图-2

在这个例子中可以看出,纵然group0和group1中各有一个Node故障,全体Cluster环境中也会有一份完全的数据,担保系统正常运转。

管理节点:MySQL全局的管理者,起到联系并管理整体架构的浸染。
全体集群只有一个管理节点,掌握其他节点启停,查看节点状态等。
掩护了集群全局配置信息,因此在全体集议论况中该当优先于所有节点启动。
Cluster中的其他节点从管理做事器检索配置信息,并要求确认管理做事器所在位置的办法。
当数据节点内发生新的事宜时,该节点将关于这类事宜的信息发送到管理做事器上,写入到Cluster日志中。

二、NDB引擎先容

在MySQL实现集群Cluster架构中,存储节点利用的存储引擎为NDB引擎。
NDB引擎是一种分布式的基于内存的引擎,因此作为MySQL集群的Cluster架构中的存储节点,内存一定要足够大。

NDB引擎有以下优点:

基于内存存储,没有磁盘I/O瓶颈,速率快。
扩展性好,增加节点即可实现数据库集群Cluster的扩展。
冗余性好,单个节点故障,集群还可以供应做事。
高可用性:故障检测及迁移,多节点备份。
负载均衡:切换某做事访问某节点,分摊单个节点的数据库压力。

同时,NDB引擎也有以下缺陷:

由于存储基于内存,因此在设备断电后数据就会丢失。
存储空间大小受内存大小限定。
多个节点分布式架构整体相应速率会受到网络影响。
脑裂:导致数据库节点彼此独立运行的集群故障称为“脑裂”。
这种情形可能导致数据不一致,导致无法修复。
例如当两个数据节点独立更新同一表上的同一行数据时。
标签:

相关文章

php号码查询技巧_号码标记查询一键清除

“作为一名电话发卖职员,业务号码打多了会被人标记成推销等电话是常态,被标记成功后,接通率也将大幅度降落,严重影响事情效率。被标记了...

网站推广 2024-12-14 阅读0 评论0