MongoDB中超过2GB的数据库

con*_*tor 20 large-files mongodb

我们有一个基于文件的程序,我们想要转换为使用文档数据库,特别是MongoDB.问题是,MongoDB在32位机器上限制为2GB(根据http://www.mongodb.org/display/DOCS/FAQ#FAQ-Whatarethe32bitlimitations%3F),我们的很多用户将拥有超过2GB的数据.有没有办法让MongoDB以某种方式使用多个文件?

我想也许我可以在一台机器上实现分片,这意味着我会在同一台机器上运行多个mongod并且它们会以某种方式进行通信.这可行吗?

mdi*_*olf 8

在单个节点上拥有超过2GB的唯一方法是运行多个mongod进程.因此,分片是一种选择(就像你说的那样)或者跨进程进行一些手动分区.

  • 是的,我们不推荐它,因为它可能过于复杂(并且分片还没有在生产版本中).建议只是找到一个64位机器进行部署(我知道这不是某些人的选择). (4认同)
  • 我认为使用内存映射文件的问题是具有32位指针的进程无法指向超出该范围的数据 - 而不是操作系统无法打开文件. (3认同)