ログデータの保持にMongoDBを使用しています。そして、私の目標は、ログレコードの削除をゼロにすることです。現在、複数のログデータを書き込むために「InsertManyAsync」を使用しています。しかし、MongoDBには「BulkWriteAsync」のようなメソッドもあります。 InsertManyとBulkWriteのパフォーマンスの違いは何ですか?ローカルライティングとネットワーク経由のライティングでは?
わかりました、それは2つの質問です:
InsertMany vs BulkWrite
BulkWriteを使用すると、mongoDBへの単一の接続で多くの操作を実行できます。内部的には、InsertManyはBulkWriteを使用するため、違いはありません。便宜上です。
同期と非同期
同期操作を実行すると、アプリケーションはMongoDBが作業を完了するのを待ちます。非同期操作を使用すると、同時に多くの操作を実行できます。サーバー側、およびクライアント側。
裏でのBulkWriteAsyncは、挿入操作にInsertManyAsyncを使用します。唯一の違いは、BulkWriteAsyncを使用すると、1つの屋根の下でさまざまな操作(挿入、更新、削除)を実行できることです。ただし、大量のドキュメントを挿入するためにBulkWriteAsyncとInsertManyAsyncの間で議論している場合は、InsertManyAsyncを直接使用することをお勧めします。