周氏一族,整理技术文档,给下一代留点教程......
Mysql-cluster 简介,网上太多了,你自己百度一下,刷刷刷就出来了,此处也是借鉴网上的,记录下以防忘记。
MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的集群。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求, 适合于分布式计算环境的高实用、高冗余版本。 此外,由于每个组件有自己的内存和磁盘,不存在单点故障。
MySQL Cluster 将标准的 MySQL 服务器与名为 NDB 的“内存中”集群式存储引擎集成了起来。其中术语“ MySQL cluster ”指的是 MySQL 和 NDB 存储引擎的组合。
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 允许向正在运行的数据库模式中联机添加节点和更新内容,因而能支持快速变化和高度动态的负载。
MySql-Cluster架构图如下:
由上图可分为三类节点,在最低的 MySQL cluster 配置中,至少有三个节点,这三类节点分别是:
·管理 (MGM) 节点
这类节点的作用是管理 MySQL 集群内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。
·数据节点
这类节点用于保存集群的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有 4 个数据节点。
·SQL节点
这是用来访问集群数据的节点。对于 MySQL 集群,客户端节点是使用 NDB 集群存储引擎的传统 MySQL 服务器。