我只是在一个相当体面的婴儿(IBM x3650 M3)上安装了一个MySQL集群,配有24GB内存,至强6核,SAS 6Gbps硬盘。 运行Debian Lenny 5. 64位。
Ndb版本是7.1.9a。 我们在MyISAM上的数据库大小约为3.2 GB。 ndbengine的Ndb_size估计是58GB。
关于我的数据库的一些信息如下。 全球共有150个常用表格。 每个客户130张桌子。 所以它是这样的,130×115(客户)= 14950表。
在一个数据库上有14000个表是正常的还是通常的? 我们这样做的原因是,易维护和每个客户端的定制。
现在的问题是,ndb集群只能支持20320个表。 但如果我没有错,它可以支持一个表中的50亿行。
我真正的头痛是我的集群数据节点不到两分钟就启动出来的任何数据。 但只要将我的表转换为ndb,那么只有2000个表,数据节点至less需要30到40分钟才能启动。 这是正常的吗? 如果我把所有的表格转换成ndb,会花费更长的时间吗?
或者让我们说,如果将我的14000个表的数据合并到一个130个表中,它会有帮助吗?
还是有什么白痴我在做什么? 我将尽快附上我的config.ini文件。 这里是我的configuration简单的概述
Datamemory = 14G Indexmemory = 3GB Maxnooftable = 14000 Maxnoofattributes = 78000
我只是先用2000个表testing这些值。
请指教,如何提高启动速度。 请指出我要出错的地方。 在此先感谢你们!
如果您能够更改数据库模式, 则将其归一化,直到它受到损害,反规范化直到它正常工作 。 按数据节点划分数据,直到满足性能要求,但不要忽略副本节点。 如果您担心节点启动和启动时间,请查看磁盘访问/读取速度。 看看你的RAIDconfiguration。 镜像突袭阅读优于写作。
也许固态硬盘将提供更好的读取速度?