关于NDBCLUSTER的一个问题.
我继承了基于NDBCLUSTER 5.1解决方案(LAMP平台)的网站的编写.
不幸的是,设计前一种解决方案的人并没有意识到该数据库引擎具有强大的局限性.一个,一个表最多可以有128个字段.这位前程序员设想表在一行中有369个字段,一年中的每一天都有一个,外加一些关键字段(他最初使用MyISAM引擎).好吧,无论如何,我必须将其重构.
此外,引擎还需要进行大量调整:表的最大属性数(默认为1000,太少了)和许多其他参数,一旦误解或低估了它们,可能会导致严重的问题在数据库中进行生产时,您不得不更改某些内容.
即使未精确配置NDBCLUSTER表的磁盘存储也是一种偶然的事实:即使在CREATE TABLE语句中指定,引擎似乎也更喜欢将数据保留在内存中-这可以解释速度-但是如果您的表位于节点1应该突然崩溃(就像在测试期间一样).仅在1000条记录之后,所有节点上的所有表数据都会丢失,并且表会损坏.
我们在具有8Gb RAM的服务器上,该表只有27个字段.
请注意,没有运行用于节点关闭的ndb_mgm操作来破坏表数据.它简直摔倒了,停了下来.我们的提供者不明白为什么.
所以问题是:您是否会建议NDBCLUSTER作为大规模Web服务数据库的稳定解决方案?
我们正在谈论的数据库应该包含数百万个记录,数千个表和数千个目录.
如果不是,那么建议您最好使用哪个数据库来完成制作国家级规模的Web服务的任务.
提前致谢.
解决方法:
我在NDBCLUSTER上经历了糟糕的经历.它是范围无效的memcached的很好替代,仅此而已.此解决方案不存在稳定性和可配置性.您不能强制所有进程在特定端口上侦听,备份仍在工作,但我必须在vim中编辑bkp文件以还原数据库等.
标签:mysql-management,database-design,mysql,database
来源: https://codeday.me/bug/20191105/1997666.html