据我了解,mongoDB中的给定索引/集合必须能够适合服务器ram。
是。 MongoDB将最近使用的数据保存在RAM中。如果您为查询创建了索引,并且您的工作数据集适合RAM,则MongoDB将从内存中提供所有查询。
MongoDB不会缓存查询结果,以便返回相同查询的缓存结果。
(source)
我有一个超过16GB大的集合,但我的服务器上只有16GB的内存。我认为这个服务器足以满足我项目的适度需求。两个问题:
我没有任何充分的理由将我的数据库拆分成多个集合 - 进一步我认为查询多个集合会非常慢(假设mongo希望将集合保存在ram中)。还有其他解决方案吗?
是否存在与mongo具有相似用户界面的数据库,不需要将我的数据库保存在ram中?
答案 0 :(得分:0)
不需要将整个集合安装在RAM中。为了获得最佳性能,您希望索引适合RAM(以及经常访问的working set文档),但即使这不是必需的。
有关该主题的更多详细信息,请参阅the docs。