我们正在尝试将几个Tb放入MySQL集群,不幸的是索引不适合内存。
有办法克服mysql的这种局限性吗?
mysql进程范围操作是否有并行的方式?
我的数据有一个3D点:()在MYisam中有128个分区。由于内存限制,NDBCLuster无法加载数据。
索引遍历idkey(这是预计算的peano-hilbert键),.The总行数约为10^9。
谢谢阿曼。
编辑我的设置是2个数据,2个mysqld,一个mdm。每个ndb有8Gb内存,有4个核心。
整个系统有30 The的Raid6。
系统采用linux 6.0,机群是从源代码中编译的.
发布于 2011-04-14 21:12:38
听起来MySQL不适合这项任务(对不起)。我会去看看“东京暴君”,也许是MongoDB或者其他分布式的密钥值存储系统。也有专门的商业产品。
MongoDB是能够将它的一些索引交换给HD。我想你的问题是MySQL不能这么做(不过我不是MySQL-家伙)。
发布于 2011-07-14 14:42:53
也许您可以尝试修改您的config.ini文件。
DataMemory=15000M
IndexMemory=2560M但是如果两个值太高,您就会遇到这个错误:由于位图页错对而无法使用!
所以我还在努力解决这个问题。祝好运。
发布于 2016-06-24 20:06:54
当我只加载DB表的结构时,我也遇到了同样的问题。这意味着DataMemory或IndexMemory在这里没有帮助。而且,在MaxNoOfTables中,表的数量没有达到极限,所以也不是问题所在。对我来说,这里的解决方案是增加MaxNoOfOrderedIndexes和MaxNoOfUniqueHashIndexes的值,这两个值反映了集群中索引的最大数量。因此,如果您的DB中有许多索引,请尝试相应地增加这些变量。当然,必须在更改之后执行滚动重新启动才能生效!
https://stackoverflow.com/questions/5641156
复制相似问题