我开始研究一个项目的技术,该项目可能会频繁地进行大量写入。我想知道 mongo 写锁发生在什么级别?它是在服务器级别还是数据库级别?我读过 http://www.mongodb.org/display/DOCS/How+does+concurrency+work 但官方文档说。 a write operation can block all other operations.
对我来说,这意味着写锁是服务器级别的,但我希望它们是数据库级别的。有人可以确认或否认这一点吗?

最佳答案

目前,MongoDB 确实有全局服务器锁。但是,还有一些额外的代码可以在必须从磁盘加载内存块的情况下释放锁。它为此使用了锁定生成。虽然这并不能解决所有的并发问题,但它解决了很多通常相关的问题。这篇文章描述得很好:http://blog.pythonisito.com/2011/12/mongodbs-write-lock.html

从 MongoDB 2.2 开始,将有一个数据库级别的锁,并且还做了更多关于让步的工作。

关于mongodb - mongodb写锁发生在什么级别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10175525/

10-15 14:49