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 Cluster节点类型(转载)的更多相关文章

  1. Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务

    说明:将mysql的管理节点和数据节点配置成windows服务是为了防止有人手误关闭管理节点或数据节点的dos命令窗口,管理节点或数据节点的命令窗口误关闭可能会造成mysql某台或某几台mysql不能 ...

  2. Mysql cluster管理节点配置文件详解

    一.定义MySQL Cluster的TCP/IP连接TCP/IP是MySQL集群用于建立连接的默认传输协议,正常情况下不需要定义连接.可使用“[TCP DEFAULT]”或“[TCP]”进行定义. 1 ...

  3. MySQL Cluster 集群

    本文转载 http://www.cnblogs.com/gomysql/p/3664783.html MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅 ...

  4. MySQL Cluster(MySQL 集群) 初试(转)

    作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. 作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请 ...

  5. Apache DolphinScheduler 使用文档(6/8):任务节点类型与任务参数设置

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 6. 任务节点类型和参数设置 6.1 Shell节点 ...

  6. MySQL Cluster 7.3.5 集群配置实例(入门篇)

    一.环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下: 节点分布情况: MGM:192.168.137. NDBD1:192.168.137 ...

  7. 【推荐】MySQL Cluster报错及解决方法(不断更新中)

    排查问题技巧: MySQL Cluster 自带了一个错误代码的查看的小程序.通过这个小东西我们可以方便的定位问题的原因. 这个程序就是 perror 在MYSQL安装目录的bin下面. 如报错:ER ...

  8. MySQL Cluster搭建与测试

    MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能.和Oracle Real Cluster Ap ...

  9. mysql集群 MySQL Cluster

    <?php /* 郑重说明2015年6月11日16:28:14,目前为止MySQL Cluster 社区版不支持INNODB,商业版支持,但是授权价格20W左右,so看此文档之前,考虑下钱 My ...

随机推荐

  1. SpringMVC札集(06)——转发和重定向

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  2. Kotlin Reference (四) Basic Types

    most from reference 基本类型 在kotlin中,一切都是对象,我们可以在任何变量上调用成员函数和属性.一些类型可以具有特殊的内部表示:例如,数字.字符和布尔值都可以在运行时被表示为 ...

  3. 我也说说Emacs吧(6) - Lisp速成

    前面我们学习了基本操作,也走马观花地看了不少emacs lisp的代码.这一章我们做一个lisp的速成讲座. Lisp的含义是表处理语言.它的代码组成结构都是用括号组成的表来表示的.Lisp中的功能, ...

  4. erlang http post 发送数据请求

    ibrowse:send_req("http://127.0.0.1/NativePhone.ashx", [{"Content-Type", "ap ...

  5. windows命令行工具

    winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 wscript Windows脚本宿主设置 write ...

  6. onenote的笔记本在windows10保存的路径

    onenote挺好用的,支持windows,android,mac等操作系统,完全符合我的需求,并且还没有广告.但是,在删除笔记本的时候,感觉比较费事,因为他没有配置告诉我们文件具体放在哪个路径下了, ...

  7. linux下导入、导出mysql 数据库命令

    一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构:mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql#/usr/lo ...

  8. ueditor编辑器【实际项目使用】

    [页面效果] [代码] 说明: ueditor插件的公共代码: 如果是一个可以放在对应模块的js代码中   如果有多个就要提到全局的高度(即提到公共部分) <script type=" ...

  9. margin top 无效

    常出现两种情况: (一)margin-top失效 两个层box1和box2,box1具有浮动属性,box2没有,这时候设置box2的上边距margin-top没有效果. 解决办法: 1.box2增加f ...

  10. Redis 字符串与哈希

    /*** * 字符串 redis里的字符串 ***/ //设置key的值 redis 127.0.0.1:6379> set key 'my name is imay' //设置值的过期时间 ( ...