MongoDB 使用多粒度锁定 [1],允许操作在全局、数据库或集合级别锁定,并允许各个存储引擎在集合之下(即,在 WiredTiger 中的文档级别)实现自己的并发控制。
此外,我读过 MongoDB 有两种可能的存储引擎:MMAPv1(默认)和 WiredTiger。从 MongoDB 3.0 开始,第一个使用集合级锁定,第二个使用文档级锁定。MongoDB 允许在 GLOBAL、DATABASE 或 COLLECTION 级别锁定操作是什么意思?意思是我可以选择锁粒度?如果是,我该怎么做?这是否与所选存储引擎的锁定粒度(例如 WiredTiger 中的文档级别)形成对比?如何将我的存储引擎从 MMAPv1 更改为 WiredTiger?提前致谢。