1. WiredTiger 存储引擎的特性,MVCC、压缩、文档级锁?
请介绍 WiredTiger 存储引擎的特性,包括 MVCC、压缩与文档级锁?
- WiredTiger 是 MongoDB 3.2+ 默认引擎
- MVCC 快照隔离与并发控制
- 文档级/集合级锁,压缩算法
WiredTiger 是 MongoDB 3.2 起的默认存储引擎,核心特性包括:MVCC(多版本并发控制)——通过快照隔离实现高并发读,读写互不阻塞,写操作通过版本链维护;压缩——支持 snappy、zlib、zstd 等块压缩算法,以及索引前缀压缩,显著减少磁盘占用;锁粒度——采用文档级锁(doc-level locking)与集合级锁,相比 MMAPv1 的全局数据库锁大幅提升并发;此外还支持检查点(checkpoint)、崩溃恢复(journal)、缓存管理(cache eviction)等。WiredTiger 的 MVCC 让读操作不阻塞写操作,写操作之间通过文档级锁减少冲突,是高性能并发的基石。
WiredTiger 的三大特性是 MVCC、压缩、文档级锁。MVCC 提供快照隔离与高并发,压缩降低存储,文档级锁提升写并发。理解这三个特性,能解释 MongoDB 为何比 MMAPv1 并发更高、存储更省。文档级锁是相对 MMAPv1 全局锁的重大进步。