MongoDB 使用的是 WiredTiger 存储引擎,这是其默认的存储引擎。WiredTiger 在设计上注重性能和压缩,支持多线程并发和事务,适合高负载和多用户环境。
1. MongoDB 存储引擎概述
1.1 WiredTiger
- 默认存储引擎:从 MongoDB 3.2 版本开始,WiredTiger 成为默认的存储引擎。
特性:
- 高性能:通过多线程和并发控制提高读写性能。
- 数据压缩:支持多种压缩算法(如 Snappy 和 zlib),可以减少存储空间。
- 事务支持:支持 ACID 事务,允许在多个文档之间进行原子操作。
1.2 MMAPv1
- 早期存储引擎:在 MongoDB 3.0 之前,MMAPv1 是默认的存储引擎。
特性:
- 简单性:基于内存映射文件,易于理解。
- 缺点:不支持并发写入,性能较差,且不支持事务。
1.3 其他存储引擎
在 MongoDB 中,还可以使用其他存储引擎,例如:
- In-Memory Storage Engine:专为需要极高性能的应用设计,数据存储在内存中。
- Encrypted Storage Engine:提供数据加密功能,适合需要安全性的场景。
2. 如何查看当前使用的存储引擎
您可以通过 MongoDB shell 查询当前数据库使用的存储引擎:
db.runCommand({ getParameter: 1, storageEngine: 1 })
这将返回当前数据库的存储引擎信息。