常見MongoDB資料庫操作產生的鎖總結

chenfeng發表於2018-05-07
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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章