0

MongoDB での安全な同期書き込みに関するベスト プラクティスを探しています。asp.net と mongo データベースにサーバーがあります。同じコレクションだけでなく、同じオブジェクトでも同時に機能するサーバーメソッドがいくつかあります。したがって、DB 書き込みを同期する最も効率的な方法が必要です。

ロックのような mongo API または C# インストゥルメントを使用してこれを行う方が良いですか? それぞれの場合のパフォーマンスはどうですか?

DBHelperすべてのメソッド (通常は複数のアトミック操作を含む) を、異なるオブジェクトを処理するときに非同期で実行し (オブジェクト ID は常にDBHelperパラメーターとして渡されます)、同じオブジェクト ID を操作するときに同期的に実行するようにすれば完璧です。

説明と関連記事へのリンクをいただければ幸いです。

4

1 に答える 1

2

MongoDB はトランザクションまたは ACID に準拠していないため、実際のサポートはありません。C# ロックを使用しようとすると、サーバー間でロックが共有されないため、複数のサーバーがある場合に問題が発生します。

安全な書き込みを探しているだけなら、MongoDB はそれを提供しています。 Write Concerns に関するドキュメントを参照してください。

並行性が心配な場合は、それに関する FAQもあります。しかし、オプティミスティック コンカレンシーが必要なようですね。この記事は役に立つかもしれません。

于 2013-03-12T16:59:18.020 に答える