"MongoDB supports atomic operations on single documents. MongoDB does not support traditional locking and complex transactions for a number of reasons. . ."
What made you think that it was "locking all databases when a write is occurring"?
"MongoDB supports atomic operations on single documents. MongoDB does not support traditional locking and complex transactions for a number of reasons. . ."
What made you think that it was "locking all databases when a write is occurring"?
It's not ideal, but it is an improvement.
If only they had an equivalent of innodb as a storage engine, it would be awesome
Any idea how replica sets / shards might fit into this picture?
http://www.mongodb.org/display/DOCS/How+does+concurrency+wor...
Note that whilst a write blocks all other writes, the time you need to wait is the time it takes for the in-memory data structure to be modified; you don't have to wait for the write to hit disk. (Writes are only persisted to disk every so often.)