2012-02-25 68 views
2

MongoDB中的所有数据都存储在计算机系统的磁盘上吗?如果查询正在运行,它是否直接从磁盘中运行?因为它来自磁盘,它可以根据磁盘大小进行缩放吗?是基于MongoDB的磁盘吗?

+0

你是什么意思?如果它不是基于磁盘的,而是基于内存的,它不会是持久的(显然它是)。你需要更具体地指定你的意思。 – 2012-02-25 09:47:23

+1

是的,不是真的,也没有。搞定了! – 2012-02-25 10:48:51

回答

5

MongoDB确实将其所有数据存储在磁盘上,以便在服务器重新启动期间它可以保留它。但是,它主要是喜欢记忆。它依靠操作系统来安排其数据库的哪些位保留在内存中,哪些位保留在磁盘上。如果数据存储在内存中,查询性能会更好,因为速度更快,但MongoDB(或者说操作系统)会将内存数据存入磁盘。所以,为了回答你的问题:是的,MongoDB的数据存储在磁盘上。查询从内存直接运行,如果不是所有数据都适合内存,则由磁盘支持。它根据磁盘大小进行扩展,但是您将从更大的内存获益。

+0

更新:内存存储引擎可从3.2.6版本获得:https://docs.mongodb.com/v3.2/core/inmemory/ – 2016-10-30 16:04:03