mysql cluster 整理笔记

  

  mysql cluster是基于ndb存储引擎。

  整体分为三大部分,管理节点,存储节点,sql节点。

  管理节点用于管理整个集群;存储节点及ndb节点,用来存储数据;sql节点则负责接收客户端的sql请求。

  mysql cluster 特性如下

性能和扩展能力
自动分片 数据库自动、透明地分布于低成本的商用服務器上,这样无需更改应用程序即可以向外扩展的方式增加读写查询的能量。
多主复制 每个数据节点都可以接受写操作。这项功能与自动分片功能相结合,提供了非常高的写操作扩展能力。
分布式跨分片 JOIN 适应性查询本地化将 JOIN 操作下放到数据节点,这样它们就可以并行地在多个本地数据副本上执行。
实时响应 内存中的表和索引异步刷新到磁盘并绑定到 CPU 线程,低延迟。
开发人员 API 和数据模型
SQL MySQL Server 针对集群提供一个标准的 SQL 接口,可通过所有标准 MySQL 连接器(如 JDBC、ODBC.NET 等)连接各种 Web 开发语言和框架。
使用 Memcached 的 NoSQL 原生键值访问,绕过 SQL 层访问 存於數据節點中的數据,用于结构和非结构的数据存储。
使用 JavaScript 和 node.js 的 NoSQL 支持通过服务器端JavaScript绕过 SQL 层直接访问存于数据节点中的数据,以加速数据的查询和维护
使用 C++ 的 NoSQL 原生 C++ 访问,绕过 SQL 层可获得极低的延迟
使用 Java 和 JPA 的 NoSQL 原生 Java 和 JPA 访问,绕过 SQL 层访问企业、Web 和电信服务
使用 REST 的 NoSQL 原生 HTTP/REST 访问,使用 Apache mod_ndb 绕过 SQL 层
结构和非结构式的数据模型 默认使用完全结构化的关系数据模型。使用 Memcached API,每个键值都写入相同的表中,每个键值对默认存储在一行中,也可以配置为写入多个现有表中。
99.999% 的可用性和数据完整性
符合 ACID 要求、事务型 MySQL Cluster 全面支持 ACID(独立性、一致性、隔离性、持久性)事务。
外键约束(Constraint) MySQL Cluster 自动在表间实施参照完整性。
分布式、无共享架构 集群中的每个节点都是冗余的,可以放在单独的主机上,从而确保在发生进程、硬件或网络故障时的持续可用性。
无单点故障 每个节点都有自己的磁盘和内存,因此消除了共享组件(如存储)带来的故障风险。
同步复制 每个数据节点内的数据都同步复制到至少一个其他节点上。如果某个节点发生故障,至少有另一个数据节点存储着相同的信息。
亚秒级自动故障切换 MySQL Cluster 的心跳机制可立即检测到任何故障,并自动故障切换到集群中的其他节点,通常在一秒钟内完成,不会中断提供给客户端的服务。
自我修复式恢复 故障节点能自动重新启动并在重新加入集群前与其他节点重新同步,从而实现自我修复,此过程对应用程序完全透明。
跨地域复制 将一个集群从一个数据中心复制到另一个数据中心,从而实现灾难恢复并降低网络延迟的影响。每个集群都能接受写操作,并在内部处理冲突,从而确保集群间的一致性。
多站点集群 数据节点可以分散到多个数据中心,因此发生节点故障时可以在不同站点之间同步复制并进行自动故障切换。
联机操作
联机模式更新 支持联机添加列和表,以及联机添加和删除索引。
联机扩展 可以按需向正在运行的集群添加节点以提高性能和容量。可以向集群中动态添加应用节点,也可以从集群中动态删除应用节点,非常灵活。
联机维护 支持在线对底层硬件、操作系统和 MySQL Cluster 进程的升级和补丁安装。
联机备份 备份文件是数据库的一致的集群范围快照,可以存档并复制到安全的远程位置。
部署灵活性
虚拟机部署 可以在内部平台和云平台上部署虚拟机环境。
内存中和基于磁盘的表 表可以配置为只能在内存中管理(完全记录并刷新到到持久存储中)或存储在磁盘上。
商用硬件 可以用本地存储在商用硬件间扩展 MySQL Cluster。无需共享磁盘。
安全和审计
MySQL 企业级安全性* 为连接到集群的 MySQL Server 提供了随时可用的外部身份验证模块,使其可以轻松集成到现有安全基础架构中。
MySQL 企业级审计* 提供了一个简单易用、基于策略的审计解决方案,可帮助组织实施更加严格的安全控制和满足法规要求。
管理和监视
MySQL Cluster Manager* MySQL Cluster Manager 可自动完成常见管理任务,从而简化了 MySQL Cluster 数据库的创建和管理。
MySQL Enterprise Monitor* 使您能够了解集群运行状况的概况,在潜在问题对系统造成影响前发出警报。

* 仅在 MySQL Cluster 运营商级版本中提供。

注意事项:

1、主键和索引存储在内存: 每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB Cluster存储引擎将自动生成隐含的主键。(注释:该隐含 键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见)。

问题:

1、因主键和索引存储在内存,当内存没有足够的容量容纳时,就会出问题。

2、使用较少

3、文档和参考资料

4、有问题不易修改

5、占用磁盘空间大,内存大

时间: 2024-11-02 09:55:40

mysql cluster 整理笔记的相关文章

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重新整理笔记--woods备忘

==============================SQL备忘 CRUD 查询 多表 事件等=============================== -------------------------------------------------------------------------------------------------- 一.数据库 1.创建数据库 create database [if not exists] db_name [character set

《高性能MySQL》读书笔记--查询缓存

1.MySQL查询缓存 很多数据库产品都能够缓存查询的执行计划,对于相同类型的SQL就可以跳过SQL解析和执行计划生成阶段.MySQL还有另一种不同的缓存类型:缓存完整的SELECT查询结果,也就是"查询缓存". 查询缓存系统会跟踪查询中涉及的每个表,如果这些表发生变化,那么和这个表相关的所有的缓存数据都将失效. 查询缓存对应用程序是完全透明的.应用程序无须关心MySQL是通过查询缓存返回的结果还是实际执行返回的结果. 另外,随着现在的通用服务器越来越强大,查询缓存可能是一个影响服务器

mysql cluster 实验

今天简单做了个mysql cluster的实验,还算顺利,把步骤记录下来,以后有雅兴再来排版整理补充 环境说明: 192.168.6.240  管理节点   sql节点  数据节点 192.168.5.172  sql节点   数据节点 准备: 官网下载二进制包mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz 解压 tar zxvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz

MySQL实用基础笔记

/* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES --

《高性能MySQL》读书笔记--锁、事务、隔离级别 转

1.锁 为什么需要锁?因为数据库要解决并发控制问题.在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它.为了保证数据的一致性,数据库就要对这种并发操作进行控制,因此就有了锁的概念. 1.1锁的分类 从对数据操作的类型(读\写)分 读锁(共享锁):针对同一块数据,多个读操作可以同时进行而不会互相影响. 写锁(排他锁):当前写操作没有完成前,它会阻断其他写锁和读锁. 大多数时候,MySQL锁的内部管理都是透明的. 1.2锁粒度(Lock granula

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

作/译者:叶金荣(imysql#imysql.com>),来源:http://imysql.com,欢迎转载. 作/译者:叶金荣(Email: ),来源:http://imysql.cn,转载请注明作/译者和出处,并且不能用于商业用途,违者必究. MySQL Cluster 是MySQL适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.在MyQL 5.0及以上的二进制版本中.以及与最新的Linux版本兼容的

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

一.准备 1.准备服务器 计划建立有5个节点的MySQL CLuster体系,需要用到5台服务器,但是我们做实验时没有这么多机器,可以只用2台,我就是一台本机,一台虚拟机搭建了有5个节点的MySQL CLuster体系,将一个SQL节点一个数据节点一个SQL节点放在了一台服务器上(192.168.1.252),将另一个SQL节点和一个数据节点放在了另外一台服务器上(192.168.1.52). 节点配置说明 节点 对应的IP和端口 管理节点(1个) 192.168.1.252 SQL节点 (2个

jQuery整理笔记七----几个经典表单应用

1.文本框获得(失去)焦点 当文本框获得输入焦点时,将该文本框高亮显示,算不得一个应用,仅仅是一个小技巧,能够提高用户体验. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/