我想为MySQL集群6实现NDB集群。我想为至少200万条记录的非常庞大的数据结构这样做。
我想知道实施NDB集群是否有任何限制。例如,NDB集群的RAM大小、数据库数量或数据库大小。
发布于 2009-12-30 22:43:59
两百万个数据库?我想你的意思是“排”。
无论如何,关于限制:要记住的最重要的事情之一是NDB/MySQL集群不是通用数据库。最值得注意的是,连接操作以及子查询和范围操作(例如:现在到一周前创建的订单)可能比您预期的要慢得多。这在一定程度上是因为数据分布在多个节点上。虽然已经做了一些改进,但连接性能仍然非常令人失望。
另一方面,如果您需要处理许多(最好是小的)并发事务(通常是按主键的单行更新/插入/删除查找),并且您管理将所有数据保存在内存中,那么它可能是一个非常可伸缩和高性能的解决方案。
你应该问问你自己为什么想要集群。如果你只是想要你现在拥有的普通数据库,除了增加了99,999%的可用性,那么你可能会失望。当然,MySQL集群可以为您提供良好的可用性和正常运行时间,但您的应用程序的工作负载可能不太适合thtings集群。此外,您还可以使用另一个高可用性解决方案来增加传统数据库的正常运行时间。
顺便说一句--以下是文档中的限制列表:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations.html
但无论你做什么,尝试集群,看看它是否对你有好处。MySQL集群不是"MySQL +5 9“。当你尝试的时候你会发现的。
发布于 2017-10-08 21:12:53
NDB集群提供两种类型的存储选项。
1.在内存存储中。2.磁盘存储。
在内存数据存储中引入了NDB,并在7.4(MySQL5.6)版本中开始支持磁盘存储。
当前版本7.5(MySQL 5.7)支持磁盘存储,在这种情况下没有大小限制,因为数据将驻留在磁盘中,而限制取决于可用的磁盘存储空间。
磁盘存储配置- https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-disk-data-symlinks.html
NDB集群的内存存储也比较成熟,可以在管理节点config.ini文件中定义内存使用情况。示例- DataMemory=3072M IndexMemory=384M
在一个普通表中(取决于存储在列中的数据),总的数据库大小应该小于1 db,这很容易配置。
注意-在我自己的实现中,我遇到了一个性能挑战,因为NDB的性能随着表中行数的增加而下降。在高负载下,并发读取将随着行数的增加而降低。请确保不进行全表扫描,并提供足够的where子句谓词。为了获得适当的性能,请根据您的查询模式正确地定义二级索引。定义二级索引将再次增加内存消耗,因此请相应地计划您的查询模式和内存资源。
https://stackoverflow.com/questions/1980484
复制相似问题