3

MongoDb とそのアトミック性について友人と話し合ったのですが、彼が正しいかどうか知りたいのですが、MongoDb は更新中に2 つのアトミック操作を行うと言われました。

  • 既存のドキュメントを削除しています (最初のアトミック操作)。
  • 新しいものを挿入します(2番目のアトミック操作)。

つまり、ごくわずかな時間、ドキュメントが空です。

これは私にはもっともらしく聞こえませんが、これが真実かどうかを確実に知っている人はいますか?

ご回答いただきありがとうございます。オンライン ドキュメントを参照していただければ幸いです。

編集:スペル

4

1 に答える 1

1

MongoDB は、すべての変更操作に対してグローバル書き込みロック (2.2 より前はサーバーごと、2.2 ではデータベースごと) を使用します。これは、更新の実装の詳細に関係なく、クライアントの観点からはアトミックであることを意味します。グローバルな書き込みロックにより、他のクライアントが 1 つのドキュメントの部分的な更新を確認できないことが保証されます。

ここに MongoDB のグローバル書き込みロックに関するドキュメントがあります: http://www.mongodb.org/display/DOCS/How+does+concurrency+work

于 2012-09-15T15:00:26.217 に答える