3

I am beginning to research technology for a project, that can have frequent large writes. I am wondering at what level does mongo write lock take place? Is it at the server level or database level? I have read http://www.mongodb.org/display/DOCS/How+does+concurrency+work but official documentation says. a write operation can block all other operations.

To me this means write locks are server level but I am hoping they are db level. Could someone please confirm or deny this?

dm03514
  • 54,664
  • 18
  • 108
  • 145

1 Answers1

4

At the moment, MongoDB does indeed have a global server lock. However, there is some additional code that will release the lock in case memory blocks have to be loaded from disk. It uses lock-yielding for that. Although this does not solve all concurrency issues, it addresses quite a few of the generally associated problems. This post describes it well: http://blog.pythonisito.com/2011/12/mongodbs-write-lock.html

From MongoDB 2.2, there will be a database-level lock, and also more work on yielding is done.

Derick
  • 35,169
  • 5
  • 76
  • 99