MySQL 集群
http://blog.csdn.net/zhangking/article/details/5670070
MySQL 群集是 MySQL 适合于分布式计算环境的高可用、高冗余版本。它采用了 NDB Cluster 存储引擎,允许在
1 个群集中运行多个 MySQL 服务器。在 MySQL 5.0 及以上的二进制版本中,以及与最新的 Linux 版本兼容的 RPM
包中提供了该存储引擎。
MySQL 群集是一种技术,该技术允许在无共享的系统中部署“内存中”和“磁盘中”数据库的 Cluster 。通过无共享体
系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单
点故障。MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括 MySQL 服务器,NDB Cluster
的数据节点,管理服务器,以及(可能存在的)专门的数据访问程序。
管理服务器(MGM 节点)负责管理 Cluster 配置文件和 Cluster 日志。Cluster 中的每个节点从管理服务器检索配
置数据。当数据节点内出现新的事件时,节点将关于这类事件的信息传输到管理服务器,然后,将这类信息写入
Cluster 日志。
目前能够运行 MySQL Cluster 的操作系统有 Linux、Mac OS X 和 Solaris,最新的版本已经支持 Windows 操
作系统。
MySQL 群集的数据节点之间的通信是不加密的,并且需要高速的带宽,所以建议把群集建立在一个高速局域网内,
不建议跨网段、跨公网的部署这种系统体系。
MySQL 群集分为三种节点:管理节点,数据节点和 SQL 节点。
管理节点:主要用于管理各个节点,能够通过命令对某个节点进行重启、关闭、启动等操作。也能够监视全部节点
的工作状态。
数据节点:主要是对数据的存储,不提供其他的服务。
SQL 节点:主要是对外提供 SQL 功能,类似一台普通的 MySQL Server。
而 SQL 节点和数据节点可以是同一台机器,也就是说这台机器即是 SQL 节点也是数据节点。它们只是逻辑关系上
的划分,实际部署时,甚至所有的阶段都可以位于同一台物理机器上,只是配置较复杂些。