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