Mysql Cluster节点类型(转载)
mysql 自4.1.x版本开始推出mysql cluster功能。cluster简单地说,就是一组"节点"的组合。这里的节点是一个逻辑概念,一台计算机上可以存放一个节点,也可以存放多个节点。这些节点的功能各不相同,有的用来存储数据(数据结点),有的用来存放表结构(sql结点),有的用来对其他节点进行管理(管理节点)。这些节点组合在一起,可以为应用提供具有高可用性,高性能和可缩放性的cluster数据管理。
mysql 使用 ndb 存储引擎来对数据节点的数据进行存储,以前版本的ndb数据引擎只支持基于内存的数据表,从5.1版本开始支持基于磁盘的数据表。
理论上,mysql cluster通过数据的分布式存储和可扩展的系统架构,可以满足更大规模的应用;而且通过冗余策略,可以大大地提高系统的可靠性和数据的有效性。
mysql 按照节点类型可以分为3部分。
.管理节点。
顾名思义,管理节点用来对其他节点进行管理。实际操作中,是通过一个叫作config.ini的配置文件进行维护而起到管理作用。该文件可以用来配置有多少需要维护的副本,需要在每个数据结点上为数据和索引分配多少内存,数据节点的位置,在每个节点上保存数据的磁盘位置,sql节点的位置信息。管理节点只能有一个,配置要求不高。MGM节点是用命令ndb_mgmd启动的。
.sql节点
sql 节点可以理解为应用和数据节点之间的一个桥梁。应用不能直接访问数据节点,只能先访问sql节点,然后sql节点再去访问数据结点来返回数据。Cluster中可以有多个sql节点,通过每个sql节点查询到的数据都是一致的,通常来说,sql节点越多,分配到每个sql节点的负载就越小,系统的整体性能就越好。
SQL节点是使用命令mysqld –ndbcluster启动的,或将ndbcluster添加到my.cnf后使用mysqld启动。
.数据节点
用来存放Cluster里面的数据,可以有多个数据节点。每个数据结点可以有多个镜像节点。任何一个数据节点发生故障,只要它的镜像节点正常,Cluster就可以正常运行。数据节点是用命令ndbd启动的。
这三种逻辑上不同节点物理上可以存放在不同的服务器上,也可以存放在相同的服务器上。
通过架构中的各个节点的介绍,可以总结一下mysql cluster的访问过程,前台应用一定的负载均衡算法将对数据的访问分散到不同的sql节点上去,然后sql节点对数据节点进行数据访问并从数据节点返回结果,最后sql结点将收到的结果返给前台应用,而管理节点并不参与访问过程,它只用来对sql节点和数据节点进行配置管理。
相关文章
- MySql二进制版安装教程
- Mysql授权允许远程访问解决Navicat for MySQL连接mysql提示客户端不支持服务器请求的身份验证协议;考虑升级MySQL客户端
- mysql-介绍、MySQL部署、数据类型、存储引擎
- 【MySQL】最容易忽略的常识
- 【MySQL】性能优化之 index merge (1)
- Linux - mysql 异常: ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists
- MySQL内核月报 2014.11-MySQL· 5.7特性·在线Truncate undo log 表空间
- mysql主主同步
- Mysql 如果有多个可选条件怎么加索引_MySQL|mysql-索引
- Linux下MySQL源码编译安装(eg:mysql-5.6.27.tar.gz )
- mysql数据库(4): 创建并选择数据库
- 实践案例丨Pt-osc工具连接rds for mysql 数据库失败
- Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建
- mysql-connector-java与Mysql、Java的对应版本
- 60 openEuler 22.03-LTS 搭建MySQL数据库服务器-安装、运行和卸载
- 第40讲:MySQL索引的语法以及基本使用
- [MySQL] 解决办法: Error: Transaction test error: file /etc/my.cnf from install of mysql-community-server
- Groonga开源搜索引擎——列存储做聚合,没有内建分布式,分片和副本是随mysql或者postgreSQL作为存储引擎由MySQL自身来做分片和副本的
- python查询mysql以字典返回
- mysql 数据库 分表后 怎么进行分页查询?Mysql分库分表方案?
- MySQL(13)子查询
- Mysql入门技能树-索引
- MySQL-自带工具介绍
- mysql卸载