Mongodb 锁

MMAP1存储引擎:
collection锁(collection-level concurrency control),在MMAP版本中,只提供了database的锁(既当一个用户对一个collection进行操作时,其他的collection也被挂起)


WiredTiger存储引擎:
在 2.2 版本以前,mongod 只有全局锁;在 2.2 版本开始,大部分读写操作只锁一个库,相对之前版本,这个粒度已经下降,例如如果一个 mongod 实例上有 5 个库,如果只对一个库中的一个集合执行写操作,那么在写操作过程中,这个库被锁;而其它 5 个库不影响。相比 RDBMS 来说,这个粒度已经算很大了!
3.0开始有了WireTiger存储引擎,但是默认还是mmapv1,  3.2以后默认是wireTiger存储引擎

1、全局锁

锁住整个实例,如果一个实例有五个数据库,那么同时会锁住五个数据库
Version < 2.2 : 只支持进程级锁,一个Mongod实例一个锁。

2、数据库锁

锁住整个数据库
2.8 >Version >= 2.2 : 支持库级锁,一个db一把锁。

3、collection锁

文档锁,锁住整个document,也就是表级锁
目前3.0.0 支持 collection 级别的锁。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值