3

关于 NDBCLUSTER 的一个问题。

我继承了一个基于NDBCLUSTER 5.1解决方案(LAMP平台)的网站的编写。

不幸的是,设计前一个解决方案的人没有意识到这个数据库引擎有很强的限制。一,一个表最多可以有 128 个字段。这位前程序员设想了单行有 369 个字段的表,一年中的每一天加上一些关键字段(他最初使用 MyISAM 引擎)。好吧,无论如何,我知道它必须被重构。

更重要的是,引擎需要大量调整:一个表的最大属性数(默认为 1000,有点太少了)和许多其他参数,一旦你对这些参数的误解或低估可能会导致严重的问题在使用您的数据库进行生产时,您被迫更改某些内容。

即使没有精确配置 NDBCLUSTER 表的磁盘存储这一事实也是一种偶然:即使在 CREATE TABLE 语句中指定,引擎似乎更喜欢将数据保存在内存中——这解释了速度——但如果你的表在节点 1 应该突然崩溃(就像它在测试期间所做的那样)。仅在 1000 条记录后,所有节点上的所有表数据都丢失,表损坏。

我们在具有 8Gb RAM 的服务器上,该表只有 27 个字段。

请注意,节点关闭时没有 ndb_mgm 操作会破坏表数据。它只是倒下了,句号。我们的供应商不明白为什么。

所以问题是:您会推荐 NDBCLUSTER 作为大型 Web 服务数据库的稳定解决方案吗?

我们谈论的是一个应该包含数百万条记录、数千个表和数千个目录的数据库。

如果不是,您会推荐哪个数据库作为完成创建国家级 Web 服务任务的最佳选择。

提前致谢。

4

1 回答 1

4

我对 NDBCLUSTER 的体验很糟糕。它可以很好地替代具有范围失效的 memcached,仅此而已。此解决方案不存在稳定性和可配置性。您不能强制所有进程侦听特定端口,备份正在工作,但我必须在 vim 中编辑 bkp 文件以恢复数据库等。

于 2010-09-29T13:00:34.823 回答