Mysql Cluster 2

  • Uploaded by: dingzezhu
  • 0
  • 0
  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Mysql Cluster 2 as PDF for free.

More details

  • Words: 429
  • Pages: 19
MySQL Cluster

 是一个关系型数据库管理系统  目标要实现和大部分标准兼容

 以高速、可靠性出名  MySQL 5.1 GA  Cluster 在 5.0 中  更快

 Cluster

在 5.1 中

 添加新特性

 Mysql

最大的特色

 原因:没有一个存储方式可以适用所有环境  粒度到底表级

 有多种情况可以选择  设计自己的引擎  常见的引擎  Myisam , innodb , Heap , BDB

 Cluster

也是一个 mysql 的引擎

 他是一个基于内存的存储引擎  数据和索引保存在内存中  检查点放在磁盘

 高可用性  为实现 99.999% 所设计  在 可以 份  冗余度是可配置的: NoOfReplicas

 Share-nothing

的架构

 非常普通的硬件基础  不需要昂贵的 SAN

 存储节点(    

ndbd )

可以按照节点组进行组织 每个节点组持有整个数据的一部分 最多 48 个节点 其中一个节点作为事务 coordinator

 管理节点

 根据配置文件 config.ini 管理所有节点

 SQL 节点

 仅仅是 MySQL server  如同访问其他正常 MySQL 一样

 一个节点是一个进程而非一台独立主机  至少三台机器 ▪ 防止大脑分裂问题

 管理节点不需要特别强大的机器  数据节点(存储节点)  一般有很大的内存  CPU 要求不高 – ndbd 是单线程的  硬盘 IO 能从配置参数中计算得到

 SQL

节点需要更强大的 CPU

 MySQLd 是多线程的

# file "config.ini" - 2 data nodes and 2 SQL nodes # This file is placed in the startup directory of ndb_mgmd (the management # server) # The first MySQL Server can be started from any host. The second can be started # only on the host mysqld_5.mysqlsystems.com  [NDBD DEFAULT] NoOfReplicas= 2 DataDir= /var/lib/mysql-cluster  [NDB_MGMD] Hostname= ndb_mgmd.mysqlsystems.com DataDir= /var/lib/mysql-cluster  [NDBD] HostName= ndbd_2.mysqlsystems.com  [NDBD] HostName= ndbd_3.mysqlsystems.com  [MYSQLD] [MYSQLD]

 SQL

server down 了

 能够重启并连接到 cluster  应用程序连接到其他节点

 存储节点

down 了

 其他存储节点被通知  因为数据我们做了 Replica ,所以其他节点能负担其失败节点的

任务  目前,在 5.1 中,发生在这个节点上的事务将被取消,然后再别 的节点上重启。

 管理节点

down 了

 继续服务,并不依赖管理节点  重启最好是有冗余节点

 MySQL

Cluster 是 mysql 的一类存储引

擎  表的创建仅仅依赖 ENGINE=NDB

 不支持外键!  MySQL 5.0 支持的特性  视图  存储过程  触发器  权限标准化 – 需要在每个节点上设置



支持基于磁盘的记录  对于包含主键哈希索引的有索引字段,必须仍保存在

RAM 中,但可以将所有其他字段保存在磁盘上。 

大小可变的记录  在 MySQL 5.1 集群表中,只保存被记录实际占用的字

段部分( varchar 还是 varchar ) 

用户定义的分区功能  用户能够根据主关键的字段部分定义分区 ▪ 根据 KEY 、 HASH 、 RANGE 和 LIST 处理程序执行分区操作



将 MySQL 集群集成到了 MySQL Replication 中

性能总是您最关心的。。。

Cluster 的方法和普通的 MyISAM 可 能差异非常大 – 他放在内存中  反应速度往往是 Cluster 的最大弊端  吞吐量和扩展性却要好很多!  优化

 别忘记了 系统最大的问题 – IO ,而 Cluster

不存在太多这类问题  Benchmark

说明一切

Cluster 集成了查询缓存  降低了 IndexMemory 使用 给

 在 MySQL 5.1 中,每条记录约消耗 25 字节的索引内存,每个唯

一索引每记录将使用 25 字节的索引内存

 批量查找  SELECT * FROM t1 WHERE primary_key IN

(1,2,3,4,5,6,7,8,9,10);  和之前的 MySQL 相比,该查询的执行速度快 2 ~ 3 倍,原因在 于,全部 10 个 key 查找是在 1 次中发出的,而不是一次发送一 个。

    

通过网络接收查询语句 检查查询缓存 解析查询 检查权限 优化查询  查询转化  决定的读取表的顺序  决定使用的索引  决定采用哪种算法检索



执行查询  根据上述计划,检索数据  对检索到的数据执行表达式  如果必要则进行排序



返回结果集

 三类索引  主键  唯一键  已排序键

Mysqld 一步:哈希查找主键

主键是一个直 接读取的方式

NDBD

NDBD

Mysqld 第一步:哈希查找

第二步:从主表中获得数据

唯一键可能指向 其他节点

NDBD

NDBD

访问: www.mysqlsystems.com www.mysqlsystems.com/bbs

Related Documents


More Documents from ""

Mysql Cluster 2
April 2020 0