2012-04-16 2 views
3

私は、頻繁に大きな書き込みを行うことができるプロジェクトの技術を研究し始めています。 mongoの書き込みロックはどのレベルで行われますか?それはサーバーレベルまたはデータベースレベルですか?私はhttp://www.mongodb.org/display/DOCS/How+does+concurrency+workと読みましたが、公式文書には言われています。 a write operation can block all other operations.mongodb書き込みロックはどのレベルですか?

これは、書き込みロックがサーバーレベルであることを意味しますが、私はそれらがdbレベルであることを望んでいます。誰かがこれを確認したり拒否したりできますか?

答えて

4

現時点では、MongoDBは確かにグローバルなサーバーロックを持っています。しかし、メモリブロックをディスクからロードする必要がある場合にロックを解除する追加のコードがあります。そのためにロック・イールドを使用します。これはすべての並行処理の問題を解決するわけではありませんが、一般的に関連する問題のかなりの部分を解決します。 http://blog.pythonisito.com/2011/12/mongodbs-write-lock.html

MongoDB 2.2からは、データベースレベルのロックがあり、降伏に関する多くの作業も行われます。