常見MongoDB資料庫操作產生的鎖總結
MongoDB使用的是讀寫鎖,寫鎖優先順序高,同時有讀寫請求的情況下,優先滿足寫鎖。在2.2版本以前,鎖級別是全域性鎖,2.2版本後是資料庫級的鎖。3.0後引入WiredTiger引擎,加入了文件級鎖。
操作 鎖類別
查詢 讀鎖
從遊標中getMore 讀鎖
寫入資料 寫鎖
刪除資料 寫鎖
更新資料 寫鎖
map-reduce 讀寫鎖
建立索引 寫鎖,預設的是前臺建立索引,將鎖住整個db,建議放後臺
eval 全域性鎖,除非使用nolock:true
aggregate 讀鎖
repairDatabase 全域性鎖
copyDatabase 全域性鎖
副本集的同步 寫鎖,mongodb向主節點寫入資料,同樣會寫到oplog中,會lock住primary,對於從節點,資料以batch方式寫入,並且向不同的從節點寫入是以並行的方式進行
操作 鎖類別
查詢 讀鎖
從遊標中getMore 讀鎖
寫入資料 寫鎖
刪除資料 寫鎖
更新資料 寫鎖
map-reduce 讀寫鎖
建立索引 寫鎖,預設的是前臺建立索引,將鎖住整個db,建議放後臺
eval 全域性鎖,除非使用nolock:true
aggregate 讀鎖
repairDatabase 全域性鎖
copyDatabase 全域性鎖
副本集的同步 寫鎖,mongodb向主節點寫入資料,同樣會寫到oplog中,會lock住primary,對於從節點,資料以batch方式寫入,並且向不同的從節點寫入是以並行的方式進行
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2153909/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫常見面試題總結資料庫面試題
- 資料庫建模——powerdesiger常見問題總結資料庫
- MongoDB的分片資料庫命令總結MongoDB資料庫
- 關於資料庫鎖的總結資料庫
- MongoDB 資料庫操作MongoDB資料庫
- mongodb資料庫操作MongoDB資料庫
- synchronized 內部原理、常見鎖策略、CAS、 以及死鎖的產生和解決synchronized
- 大資料面試常見的面試題總結大資料面試題
- nodejs操作mongodb資料庫(mongodb)NodeJSMongoDB資料庫
- 常見資料庫資料庫
- MySQL 鎖常見知識點&面試題總結MySql面試題
- MongoDB資料庫的基本操作梳理MongoDB資料庫
- (資料庫十)資料庫中的鎖機制以及死鎖產生的原因及解決辦法資料庫
- 唯一索引操作可能產生的鎖索引
- Oracle 資料庫常見檔案及相關操作Oracle資料庫
- Python操作Mongodb資料庫PythonMongoDB資料庫
- MongoDB資料庫基礎操作MongoDB資料庫
- 資料結構之連結串列篇(單連結串列的常見操作)資料結構
- 資料結構實驗——二叉樹的常見操作資料結構二叉樹
- Python常見資料框操作①Python
- 微信小程式常見的UI框架/元件庫總結微信小程式UI框架元件
- Python操作MongoDB文件資料庫PythonMongoDB資料庫
- Python資料庫MongoDB騷操作Python資料庫MongoDB
- Python 資料庫騷操作 -- MongoDBPython資料庫MongoDB
- MongoDB資料庫級別的鎖粒度介紹MongoDB資料庫
- 常見問題--oracle物理資料庫結構概述Oracle資料庫
- 資料庫常見問題資料庫
- Day01:總結一下str的常見操作吧~
- Python Pandas庫 常見使用錯誤總結Python
- golang 常見疑惑總結Golang
- 常見問題總結
- 常見corruption block總結BloC
- ASP.NET MongoDB資料庫操作類ASP.NETMongoDB資料庫
- Java常見知識點彙總(⑳)——鎖Java
- 前端資料操作總結前端
- Linux常見操作小結Linux
- 簡述常見資料結構資料結構
- Java-常見資料結構Java資料結構