Heroku でマルチテナント アプリ (互いに何も知らない複数のアカウント) を使用していますが、データベースを最適に設計する方法がわかりません。Postgres のスキーマはすばらしく見えますが、heroku は多数のスキーマをうまく処理できません。
現在、ほとんどのテンプレートがクライアント側で (Backbone.js を使用して) レンダリングされているため、私の Rails アプリは主に JSON を提供しています。そのため、MongoDB への移行を検討しています。その理由は、1) 各テナントが 1 つの最上位の「アカウント」ドキュメントを取得でき、その下にすべてをネストできること、および 2) そのストレージ形式が JSON に非常によく似ていることです。まだベータ版なので、うまくいく可能性があります。これらは Mongo を使用する正当な理由ですか? 前者は Mongo を使用する賢い方法でさえありますか?
私が postgres に固執する場合、すべてが最上位の Account モデル (インデックス付き) に属するべきでしょうか? もしそうなら、どのように結合を処理しますか? マルチインデックス結合を実行することは可能ですか (postgres noob の合計)?
これまでのところ、1 つのテーブルに約 60,000 のエントリがありますが、1 つのアカウントには 200 ~ 1000 しかない場合があるため、テーブル全体に参加することを心配しています。
どんな助けにも本当に感謝します。
アップデート:
最終的に VPS (Rackspace Cloud) に移行し、postgres のスキーマを実装しました。Heroku よりもはるかに高速に実行され、サーバーをより細かく制御できるため、この移行に後悔はありません。