MySQL Cluster --01

【MySQL Cluster】

MySQL Cluster 是MySQL 官方集群部署方案, 支持自动分片、读写扩展;通过实时备份冗余数据。适合于分布式计算环境的高实用、高冗余版本,是可用性最高的方案,官方声称可做到99.999%的可用性。MySQL Cluster采用NDB Cluster 存储引擎,包括MySQL服务器、NDB Cluster数据节点、管理服务器,以及(可能)专门的数据访问程序。

NDB 是一种“内存中”的存储引擎,它具有可用性高和数据一致性等特点。

实际上,MySQL集群是把NDB 内存集群存储引擎与标准的MySQL服务器集成。它包含一组计算机,每个都跑一个或者多个进程,这可能包括一个MySQL服务器,一个数据节点,一个管理服务器和一个专有的一个数据访问程序。

MySQL cluster配置中,由3个不同功能的服务构成,每个服务由一个专用的守护进程提供,一项服务也叫做一个节点,下面来介绍每个节点的功能:

一、管理(MGM)节点

MGM节点作用是管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。理论上一般只启动一个,而且宕机也不影响 cluster 的服务,这个进程只在cluster 启动以及节点加入集群时起作用, 所以这个节点不是很需要冗余,理论上通过一台服务器提供服务就可以了。
      管理服务器(MGM节点)负责管理 Cluster配置文件和 Cluster日志。 Cluster中的每个节点从管理服务器检索配置数据,并请求确定管理服务器所在位置的方式。当数据节点内出现新的事件时,节点将关于这类事件的信息传输到管理服务器,然后,将这类信息写入 Cluster日志。

二、数据节点

用于保存 Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数,分段的数目为节点总数除以NoOfReplicas 所得。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点,通常设置为两副本,两个以上时就能实现集群的高可用保证,数据节点增加时,集群的处理速度会变慢。

三、SQL节点

用来访问 Cluster数据的节点。对于MySQL Cluster,客户端节点是使用NDB Cluster存储引擎的传统MySQL服务器。Cluster中可以有多个sql节点,通过每个sql节点查询到的数据都是一致的,通常来说,sql节点越多,分配到每个sql节点的负载就越小,系统的整体性能就越好。

所有的这些节点构成一个完成的MySQL集群体系: 数据保存在“NDB存储服务器”的存储引擎中,表(结构)则保存在“MySQL服务器”中。应用程序通过“MySQL服务器”访问这些数据表,集群管理服务器通过管理工具(ndb_mgmd)来管理“NDB存储服务器”。
       通过将MySQL Cluster 引入开放源码世界,MySQL为所有需要它的人员提供了具有高可用性、高性能和可缩放性的 Cluster 数据管理。

【NDB存储引擎】

MySQL Cluster 使用了一个专用的基于内存的存储引擎NDB,这样做的好处是速度快, 没有磁盘I/O的瓶颈,但是由于是基于内存的,所以数据库的规模受系统总内存的限制, 如运行NDB的MySQL服务器一定要内存够大,比如4G, 8G, 甚至16G。NDB引擎是分布式的,它可以配置在多台服务器上来实现数据的可靠性和扩展性,理论上 通过配置2台NDB的存储节点就能实现整个数据库集群的冗余性和解决单点故障问题。

在ndb上可以建立两种类型的表:
      1、内存表:所有数据(包括index)都在内存中。同时会在磁盘上保存数据,因此不用担心数据会丢失,datanode会在启动的时候把数据加载到内存。
      2、磁盘表:仅主键、索引字段保存在内存中,其他字段保存在磁盘文件里。

MySQL Cluster 特性

  1. 通过自动分片实现高水平的写入扩展能力:MySQL Cluster 自动将表分片(或分区)到不同节点上,使数据库可以在低成本的商用硬件上横向扩展,同时保持对应用程序完全应用透明。
  2. 99.999% 的可用性:凭借其分布式、无共享架构,MySQL Cluster 可提供 99.999% 的可用性,确保了较强的故障恢复能力和在不停机的情况下执行预定维护的能力。
  3. SQL 和NoSQL API:MySQL Cluster 让用户可以在解决方案中整合关系数据库技术和NoSQL技术中的最佳部分,从而降低成本、风险和复杂性。
  4. 实时性能:MySQL Cluster 提供实时的响应时间和吞吐量,能满足最苛刻的 Web、电信及企业应用程序的需求。
  5. 具有跨地域复制功能的多站点集群:跨地域复制使多个集群可以分布在不同的地点,从而提高了灾难恢复能力和全球 Web 服务的扩展能力。
  6. 联机扩展和模式升级:为支持持续运营,MySQL Cluster 允许向正在运行的数据库模式中联机添加节点和更新内容,因而能支持快速变化和高度动态的负载。

缺点

  1. 基于内存,数据库的规模受集群总内存的大小限制
  2. 多个节点通过网络实现通讯和数据同步、查询等操作,因此整体性受网络速度影响

原文地址:https://www.cnblogs.com/vadim/p/8969821.html

时间: 2024-10-29 10:40:23

MySQL Cluster --01的相关文章

Mysql Cluster配置笔记

一.Mysql Cluster拓扑环境 Management:ClusterManager  222.9.9.161 ndb1:Clusterndb1    222.9.9.162 ndb2:Clusterndb2    222.9.9.163 sql1:Clustersql1    222.9.9.164 sql1:Clustersql2    222.9.9.165 拓扑中的服务器均为HyperV虚拟机镜像拷贝,仅有Centos 6.4操作系统,需要做一些基本配置 1.配置网卡IP地址(可直

配置mysql cluster

1.从mysql 5.1 以后 mysql安装包里就不包含mysql cluster ,而是单独作为一个产品发布,目前mysql网站上最新的版本是mysql cluster 7.2.7.  下载地址:http://www.mysql.com/downloads/cluster/#downloads2.建立有5个节点的MySQL CLuster体系 ( OS :   REDHAT 6.1 )  管理节点(MGM)                192.168.251.141  SQL节点1(SQL

Windows Server 2008R2配置MySQL Cluster

目录 配置环境 相关知识 配置过程 配置 ini参数解释 启动集群 检查配置 同步测试 故障测试 写在之后 配置环境 VMware:(版本10.0.01) 操作系统:Windows Server 2008 R2 Enterprise VM1:192.168.220.103 管理节点(MGM),数据节点(NDBD1),SQL节点(SQL1) VM2:192.168.220.104 数据节点(NDBD2),SQL节点(SQL2) MySQL Cluster版本:7.3.7 (MSI Installe

Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群

------------------------------------- 一.前言 二.MySQL Cluster基本概念 三.环境 四.配置 1.LB-Master及LB-Backup配置 2.MGM配置 3.SQL节点(SQL1和SQL2)配置 4.数据节点(NDB1和NDB2)配置 五.查看状态 六.测试 ------------------------------------- 一.前言 MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB

mysql cluster (mysql 集群)安装配置方案

一.说明 本文参考:http://www.cnblogs.com/jackluo/archive/2013/01/19/2868152.html 1.准备服务器 计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以只用3台,提供5个节点的MySQL CLuster体系,将SQL节点和数据节点共用一台机器,具体如下. 主机名 节点 对应的IP和端口 DB-mgm 管理节点 10.10.6.201:1186 DB-node1 数据节点 10.1

搭建mysql cluster

虚拟机搭建Mysql Cluster 参考文档:http://www.cnblogs.com/jackluo/archive/2013/01/19/2868152.html http://www.cnblogs.com/StanBlogs/archive/2011/06/14/2080986.html 需要三台服务器.一个管理节点服务器.另外两个均充当数据节点和sql节点. 这里选用ubuntu64位操作系统.mysql cluster 对应也必须是64位的.去官方站点下载mysql-clust

MySQL Study之--MySQL Cluster(集群)构建

MySQL Study之--MySQL Cluster(集群)构建 一.Mysql Cluster概述与部署 MySql Cluster最显著的优点就是高可用性,高实时性,高冗余,扩展性强. 它允许在无共享的系统中部署"内存中"数据库的Cluster.通过无共享体系结构,系统能够使用廉价的硬件.此外,由于每个组件有自己的内存和磁盘,所以不存在单点故障. 它由一组计算机构成,每台计算机上均运行者多种进程,包括mysql服务器,NDB cluster的数据节点,管理服务启,以及专门的数据访

centos65安装简测mysql cluster 7.3.7

MySQLCluster 是sharednothing分布式架构,ndb存储引擎把数据放置于内存中.可以做到无单点故障.由运行于不同服务器上的的多种进程构成,组件包括SQL节点,NDBD数据节点,管理程序,以及(可能的)数据访问程序. 表(结构)存在SQL节点中.应用程序通过SQL节点访问这些数据表:NDBD数据节点用于保存数据:集群管理通过管理工具ndb_mgmd管理. MySQLCluster具有高可用性.高性能和可缩放性的Cluster数据管理.关于 Cluster中组件的关系可见下图:

Mysql Cluster集群配置详解

一. MySQL集群简介 MySQL群集技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障.MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的.MySQL群集中有三种节点:管理节点.数据节点和SQL节点.群集中的某计算机可能是某一种节点,也可能是两种或三种节点的集合.这三种节点只是在逻辑上的划分,所以它们不一定和物理计算机是一一对应的关系. 管理节点(也可以称管理服务器)主要负责管理数据节点和