如何克服mongoDB对RAM的限制

时间:2017-01-09 02:49:04

标签: node.js mongodb

据我了解,mongoDB中的给定索引/集合必须能够适合服务器ram。

  

是。 MongoDB将最近使用的数据保存在RAM中。如果您为查询创建了索引,并且您的工作数据集适合RAM,则MongoDB将从内存中提供所有查询。

     

MongoDB不会缓存查询结果,以便返回相同查询的缓存结果。

source

我有一个超过16GB大的集合,但我的服务器上只有16GB的内存。我认为这个服务器足以满足我项目的适度需求。两个问题:

  1. 我没有任何充分的理由将我的数据库拆分成多个集合 - 进一步我认为查询多个集合会非常慢(假设mongo希望将集合保存在ram中)。还有其他解决方案吗?

  2. 是否存在与mongo具有相似用户界面的数据库,不需要将我的数据库保存在ram中?

1 个答案:

答案 0 :(得分:0)

不需要将整个集合安装在RAM中。为了获得最佳性能,您希望索引适合RAM(以及经常访问的working set文档),但即使这不是必需的。

有关该主题的更多详细信息,请参阅the docs