AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

開発チェックリスト

以下のチェックリストは、自己管理型配置の操作チェックリストとともに、本番環境の MongoDB 配置で問題を回避するための推奨事項を示すものです。

  • レプリカセットには少なくとも 3 つのデータを保持する投票ノードが含まれていること、および書込み (write) 操作がw: majority書込み保証 ( write concern ) を使用していることを確認します。 レプリカセット全体のデータ耐久性には 3 つのデータを保持する投票ノードが必要です。

  • インスタンスがすべてジャーナリングを使用しているようにします。

MongoDBのデータには動的スキーマがあります。コレクションドキュメント構造を強制しません。これにより、反復的な開発と多形データが容易になります。それにもかかわらず、コレクションには多くの場合、高度に同種の構造を持つドキュメントを保持します。詳細については、MongoDBのデータモデリングを参照してください。

  • クエリをサポートするために必要なコレクションのセットと必要なインデックスを決定します。 _idインデックスを除くすべてのインデックスを明示的に作成する必要があります。MongoDB は_id以外のインデックスを自動的に作成しません。

  • スキーマ設計が配置タイプをサポートしていることを確認します。水平スケーリングにシャーディングされたクラスターを使用する場合は、強力なシャードキーを含めるようにスキーマを設計します。 シャードキーは後でも変更できますが、スケーラビリティやパフォーマンスの問題を回避するために、シャードキーの選択を慎重にすることが重要になります。

  • スキーマ設計が、長さが無制限に増加するインデックス付き配列に依存していないことを確認してください。 通常、このようなインデックス付き配列の要素が1000未満の場合に最高のパフォーマンスを得ることができます。

  • スキーマを設計する際には、ドキュメント サイズの制限を考慮してください。 BSON ドキュメント サイズの制限は 1 ドキュメントあたり16 MB です。 より大きなドキュメントが必要な場合は、 GridFS を使用します。

  • 接続プーリング を使用する。 ほとんどの MongoDB ドライバーは接続プーリングをサポートしています。 接続プールのサイズをユースケースに合わせて調整し、データベースの同時リクエストの通常数の110 - 115 % から開始します。

  • レプリカセットの選挙中に、アプリケーションが一時的な書込みエラーと読み取りエラーを処理していることを確認します。

  • アプリケーションが失敗したリクエストを処理していることを確認し、該当する場合は再試行します。 ドライバーは失敗したリクエストを自動的に再試行しません

  • データベース リクエストの再試行には 指数バックオフ ロジック を使用します。

  • データベース操作の実行時間を制限する必要がある場合は、読み取りにはcursor.maxTimeMS()を使用し、書込みにはwtimeoutを使用します。