【发布时间】:2017-01-09 02:49:03
【问题描述】:
据我了解,mongoDB 中的给定索引/集合必须能够容纳在服务器内存中。
是的。 MongoDB 将最近使用的数据保存在 RAM 中。如果您为查询创建了索引并且您的工作数据集适合 RAM,则 MongoDB 从内存中提供所有查询。
MongoDB 不会缓存查询结果,以便返回相同查询的缓存结果。
(source)
我有一个超过 16gb 的集合,但我的服务器上只有 16gb 的内存。我认为这台服务器足以满足我项目的适度需求。两个问题:
-
我没有任何充分的理由将我的数据库拆分为多个集合——此外,我认为查询多个集合会非常慢(鉴于 mongo 希望将集合保持在 ram 中)。还有其他解决办法吗?
-
是否有任何数据库具有与 mongo 类似的用户界面,不需要我将数据库保存在 ram 中?
【问题讨论】: