私の問題を説明させてください。誰かが良いアドバイスをくれることを願っています。
私は現在、大量のアプリケーションの情報とメタデータを保存する Web アプリに取り組んでいます。アプリケーションごとに、アプリケーションとアプリケーションのバージョン ID に関連付けられた 10 ~ 100 のコメントが存在する可能性があります。将来のスケーラビリティとスピードを簡単にする必要があるため、MongoDB を使用しています。読み取りパフォーマンス上の理由からコメントをコレクションに埋め込む必要があることを読みましたが、これが私の場合に機能するかどうかはわかりません。私は別の投稿を読みました:
一般に、特定のデータ セットを単独で操作する必要がある場合は、それをコレクションにします。
投稿者: @kb
ただし、私の場合、自分でコレクションに取り組む必要はありません。さらに説明しましょう。アプリのテーブル (フィルター可能) があり、アプリのリストをスクロールまたはフィルター処理すると、エントリが動的に読み込まれます。アプリケーション コレクション内にコメントを埋め込むと、アプリケーション エントリをテーブルに動的にロードするときに、すべてのコメントが送信されます。ただし、ユーザーがコメントを表示するように要求した場合にのみコメントを読み込みたいという点で、「遅延読み込み」を実行したいと考えています (テーブル内のエントリをクリックすることによって)。
例として、私のテーブルは次のようになります
| app name | version | rating | etc. | view comments |
------------------------------------------------------
| app1 | v.1.0 | 4 star | etc. | click me! |
| app2 | v.2.4.5 | 3 star | etc. | click me! |
| ...
私の質問は、より効率的なものは何ですか? MongoDB での読み取りは、各アプリケーションですべてのコメントを取得しても問題にならないほど高速ですか? ユーザーがアプリケーションをフィルタリングせずに一番下までスクロールした場合、125k から 250k のエントリ/アプリケーションがロードされる可能性があります。