レプリカセット構成で本番環境にmongo(バージョン2)があります(次のステップはシャーディングを追加することです)。
以下を実装する必要があります。
- 1 日に 1 回、数百万行のファイルを受け取り、それを mongo にロードします。
- このコレクションから常に読み取るランタイム アプリケーションがあります。非常に大量の読み取りがあり、そのパフォーマンスは非常に重要です。コレクションにはインデックスが付けられ、すべての読み取りで readByIndex 操作が実行されます。
現在のロードの実装は次のとおりです。
- コレクションをドロップ
- コレクションを作成
- コレクションの新しいドキュメントに挿入
私が目にすることの 1 つは、mongoDB ロックが原因で、読み込み中に全体的なパフォーマンスが低下することです。コレクションをチェックしたところ、最大 1000 万件のエントリがありました。そのサイズ以上については、シャーディングの使用を開始する必要があると思います
そのような問題を愛するための最良の方法は何ですか? それとも、別のソリューション戦略を使用する必要がありますか?