MySQL NDBCLUSTER:是否适合大规模解决方案?
关于NDBCLUSTER的一个问题。MySQL NDBCLUSTER:是否适合大规模解决方案?
我继承了基于NDBCLUSTER 5.1解决方案(LAMP平台)的网站编写。
不幸的是,谁设计了以前的解决方案没有意识到这个数据库引擎有很强的限制。其中一个表最多可以有128个字段。前一个程序员设计了一个表,每行一列,每个日期加一个关键字段(他最初与MyISAM引擎一起工作),共有369个字段。好吧,它必须被重构,无论如何,我知道。更重要的是,引擎需要大量的调整:一个表的最大属性数(默认为1000,有点太少)以及许多其他参数,误解或低估会导致严重的问题一旦你用数据库进行生产,你就不得不改变一些东西。
即使NDBCLUSTER表的磁盘存储如果没有精确配置,也是偶然的:即使在CREATE TABLE语句中指定,引擎似乎更喜欢将数据保存在内存中 - 这可以解释速度 - 但可能很痛苦如果您的节点1上的表应该突然崩溃(如在测试期间那样)。所有节点和表中的表数据丢失后,只有1000条记录损坏。
我们在一台装有8Gb RAM的服务器上,表中只有27个字段。
请注意,没有运行节点关闭的ndb_mgm操作会影响表数据。它只是倒下,完全停下来。我们的提供商不明白为什么。
所以问题是:你会推荐NDBCLUSTER作为大型Web服务数据库的稳定解决方案吗?
我们正在讨论一个数据库,其中应包含数百万条记录,数千个表和数千个目录。
如果不是您推荐哪个数据库作为完成国家级规模Web服务任务的最佳选择。
在此先感谢。
我对NDBCLUSTER有着可怕的体验。这是memcached与范围失效的好替代,仅此而已。该解决方案不存在稳定性和可配置性。你不能强制所有进程监听特定的端口,备份正在工作,但我必须编辑vim中的bkp文件来恢复数据库等。
可怕的,确实如此。谢谢。 – 2010-09-29 14:08:40