MST

星途 面试题库

面试题:MongoDB启动配置之存储引擎选择

在MongoDB启动配置中,常见的存储引擎有哪些?如何在启动时指定存储引擎?如果你的应用场景侧重于读操作,你会选择哪种存储引擎并说明原因。
48.0万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

常见存储引擎

  1. WiredTiger:默认存储引擎,支持文档级并发控制,压缩性能好,适用于大多数场景。
  2. MMAPv1:较老的存储引擎,基于内存映射文件,适合简单场景,但并发性能不如WiredTiger。
  3. In-Memory:数据存储在内存中,读写性能极高,适用于对实时性要求高且数据量相对较小的场景。

启动时指定存储引擎

在MongoDB配置文件(通常是mongod.conf)中,使用storage.engine选项来指定存储引擎。例如,要指定为WiredTiger引擎:

storage:
  engine: wiredTiger

或者在启动命令中使用--storageEngine参数,如:

mongod --storageEngine wiredTiger

侧重于读操作的存储引擎选择及原因

如果应用场景侧重于读操作,推荐选择WiredTiger引擎。原因如下:

  • 文档级并发控制:支持文档级别的并发读写,在高并发读场景下,能减少锁争用,提高系统整体的读性能。
  • 压缩性能:具备较好的压缩算法,能有效减少磁盘I/O,因为读取数据时从磁盘加载的数据量相对较少,从而间接提高读操作效率。
  • 稳定性和成熟度:作为MongoDB默认存储引擎,经过了大量实践检验,具有较高的稳定性和可靠性,能保障读操作的持续稳定执行。