MongoDB的存储引擎是一个很重要的组件,负责MongoDB如何在内存和磁盘中存储数据。MongoDB支持多种存储引擎,因为不同的应用场景使用不同的存储引擎可以使MongoDB的性能表现更佳。
从MongoDB3.2开始,MongoDB默认使用WiredTiger存储引擎。它很适合用于高负载的应用,也是官方首选建议使用的存储引擎。WiredTgier存储引擎提供一个文档级别的并发模型,检验点功能和压缩功能。MongoDB企业版本还支持加密功能。
MongoDB3.2之前MMAPv1是默认的存储引擎,MongoDB企业版还支持内存存储引擎,将文档存储在内存。
1.WiredTiger存储引擎
从MongoDB3.0开始,64位版本的MongoDB支持WiredTiger存储引擎。可以在命令行或是配置文件中指定存储引擎,MongoDB3.2默认使用WiredTiger存储引擎。
--storageEngine=wiredTiger
YMAL格式配置文件
storage.engine=wiredTiger
文档级别的并发
WiredTiger使用文档级别的并发来控制写入操作。因此,多个客户端可以同时修改同一个集合的不同的文档。
参考文档:
https://docs.mongodb.com/manual/storage/