私は最近、Web アプリのバックエンドの一部である MongoDB に移行しました。Web アプリ自体は検証ツールであり、ワークフローは次のようになります。
- ユーザーがファイルをアップロードする (通常は数十万行)
- バリデーターは、多くのメッセージを出力してチェックします (1 行に 1 つ以上の可能性があります)。
- ...そして最後にいくつかの統計を提供します
各ユーザーが次のものを含む独自の DB を持つように、アプリケーションをモデル化しました。
- ファイル (GridFS 経由で保存)
- メッセージを含むコレクション (場合によっては 100 万行を超える可能性があります)
- 統計を含むコレクション
数百人のユーザーがいるので、MongoDB は数百の DB を持つことになります。
もちろん、名前空間を使用して異なるユーザーからデータを分離し、すべてのデータを同じ DB に保持することもできます。ただし、接続 URI で DB を送信する方が便利だと感じました。また、大規模な DB でデータを検索して削除するよりも、「データベースのドロップ」ステートメントを発行してユーザーをパージする方が直感的であることがわかりました。
私は MongoDB にかなり慣れていないので、私の質問は次のとおりです。同じ MongoDB インスタンスに複数の DB を持つことに欠点はありますか? または、この問題について特別に考慮すべきことはありますか?