常见MongoDB数据库操作产生的锁总结

本文详细介绍了MongoDB的锁机制,包括不同版本中锁的变化、各种操作对应的锁类别以及副本集同步过程中的锁行为。从全局锁到文档级锁的发展,展示了MongoDB为提高并发性能所做的努力。
MongoDB使用的是读写锁,写锁优先级高,同时有读写请求的情况下,优先满足写锁。在2.2版本以前,锁级别是全局锁,2.2版本后是数据库级的锁。3.0后引入WiredTiger引擎,加入了文档级锁。


操作                       锁类别
查询                        读锁
从游标中getMore        读锁
写入数据                   写锁
删除数据                   写锁
更新数据                   写锁
map-reduce              读写锁
创建索引                  写锁,默认的是前台创建索引,将锁住整个db,建议放后台
eval                        全局锁,除非使用nolock:true
aggregate                读锁
repairDatabase         全局锁
copyDatabase           全局锁
副本集的同步           写锁,mongodb向主节点写入数据,同样会写到oplog中,会lock住primary,对于从节点,数据以batch方式写入,并且向不同的从节点写入是以并行的方式进行

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2153909/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15498/viewspace-2153909/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值