mongo的存储引擎有:
WiredTiger:从MongoDB 3.2开始的默认存储引擎,非常适合大多数工作负载
提供了文档级并发模型,检查点和压缩以及其他功能
文档级并发:
WiredTiger使用文档级并发控制进行写操作。多个客户端可以同时修改集合的不同文档
快照和检查点:
在Checkpoint操作开始时,WiredTiger提供指定时间点的数据库快照
日志:
WiredTiger将预写日志(即日志)与检查点结合使用以确保数据的持久性
压缩:
使用WiredTiger,MongoDB支持对所有集合和索引进行压缩
压缩可以最大程度地减少存储使用量,但会增加CPU的开销
内存使用:
使用了内部缓存和文件系统缓存
MMAPv1:从4.2版开始,不再支持MMAPv1存储引擎
In-Memory:用于将数据只存储在内存中,只将少量的元数据和诊断日志(Diagnostic)存储到硬盘文件中
内存中存储引擎是非持久性的,不会将数据写入持久性存储
查看当前库使用的存储引擎
> db.serverStatus().storageEngine { "name" : "wiredTiger", "supportsCommittedReads" : true, "oldestRequiredTimestampForCrashRecovery" : Timestamp(0, 0), "supportsPendingDrops" : true, "dropPendingIdents" : NumberLong(0), "supportsSnapshotReadConcern" : true, "readOnly" : false, "persistent" : true, "backupCursorOpen" : false }