Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119319
  • 博文数量: 27
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 315
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-21 20:41
文章分类

全部博文(27)

文章存档

2011年(1)

2010年(21)

2009年(5)

我的朋友

分类: Mysql/postgreSQL

2010-04-09 22:32:01

使用MySQL簇的注意事项


1)数据的操作,只能在SQL节点上完成,例如:建表等,此外强烈建议SQL节点的数量 ≥ 5,否则节点可用性会有问题

2)数据导入时,必须将所有表中的ENGINE=MyISAM,改为ENGINE=NDB或者ENGINE=NDBCLUSTER

3)节点的启动顺序:Management Node -> Data Node -> SQL Node

4)簇管理节点的默认端口是1186,数据节点的默认端口2202。从MySQL 5.0.3开始,该限制已被放宽,簇能够根据空闲的端口自动地为数据节点分配端口

5)数据节点的最大数目为48(mysql 5.1版本),而MYSQL集群中的所有节点的最大数目为63(mysql 5.1版本)(数据节点最小数目必须有2个,否则没有意义)

6)所有的MySQL簇表必须有主键,这点极其重要

7)所有的数据节点应具有相同的RAM量,这是因为,簇中任何数据节点所能使用的内存均不超过任意单独数据节点的最低可用内存。换句话讲,如果有三台运行簇数据节点的计算机,在其中两台计算机上,有3GB用于保存簇数据的RAM,另一台计算机只有1GB RAM,那么每个数据节点仅能为簇贡献1GB。

8)簇(簇:表示集群的意思)节点能够通过下述三种协议中的任何一种进行通信:TCP/IP、SHM(共享内存)和SCI(规模可扩展的计算机连接接口)

9)表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改,以使用NDB簇存储引擎在簇内复制它们

10)对于IndexMemory和DataMemory,重要的是,总的数据库大小是各节点组的所有数据内存和所有索引内存之和。每个节点组用于保存复制信 息,因此,如果有4个节点和2个副本,将有2个节点组。对于每个数据节点,可用的总数据内存是2*DataMemory(如果想查看簇中现在的数据库的大小,可以在Management Node的ndb_mgm中使用”all  dump  1000“ 进行计算)

11)强烈建议为所有的节点设置相同的DataMemory值和IndexMemory值。由于数据是平均分布在簇中的所有节点上,任何节点可用的最大空间不超过簇中最小节点的可用空间

12)启动ndbd时,它实际上将启动两种进程。第1种进程称为“angel process”(天使进程),它的唯一任务是发现执行进程在何时完成,然后重启ndbd进程(如果作了该配置的话)。因此,如果你打算使用Unix的 kill命令杀死ndbd进程,就需要杀死这两个进程。中止ndbd进程的更恰当方法是使用管理客户端,并通过该管理客户端停止进程

13)注意:在MySQL 5.1中,NDB簇不支持自动发现数据库的功能,这点很 重要(请参见17.8节,“MySQL簇的已知限制”)。这意味着,一旦在一个数据节点上创建了世界(world)数据库和它的表,在簇中的每个SQL节 点上还需要发出命令CREATE DATABASE world(从MySQL 5.0.2开始,可以使用CREATE SCHEMA world取而代之),后跟FLUSH TABLES。这样,节点就能识别数据库并读取其表定义

14)MySQL中的NDB表服从下述限制
(1)并非所有的字符集和校对均被支持。
(2)不支持FULLTEXT索引和前缀索引;只能为完整的列设置索引。不支持第19章:MySQL中的空间扩展中介绍的空间扩展
(3)仅支持对事务的完整回滚;不支持部分回滚以及回滚至保存点
(4)每表允许的最大属性数为128,而且属性名称不得超过31个字符。对于每个表,表和数据库名称的最大组合长度为122个字符。
(5)表行的最大大小为8KB,不包括BLOB;对于每表中的行数没有限制,表的大小限制取决于多种因素,尤其是每个数据节点可用的RAM量
(6)NDB引擎不支持外键约束;就像MyISAM表一样,这些约束将被忽略
(7)不支持查询高速缓冲功能
阅读(972) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~