次の特性を持つアプリケーションに django / PostgreSQL を使用することを検討しています。
- 9,000,000 ページ/日。ほとんどのページには多くの画像が含まれています
- 23万人/日。サイトにログインするのは約 30% のみ
- データベース内の最大のテーブルには、+/- 10 億行を含めることができます。このテーブルは、各クエリが 2 mio 行のみにアクセスするように分割できます。データベースには画像が含まれていません。
アプリケーションのトリッキーな側面 (私が思うに) は、次のいずれかを選択できることです。
- 10 億行のテーブルを頻繁にクエリする
- または、ログイン時に一部のユーザー データをセッションに保存します。1ユーザーあたりのセッションに保存されるデータのサイズは、約100Kバイトのデータです。これは、7,000 人の同時ユーザーがログインしている場合、約 700 MB のキャッシュ データを意味することを意味します。
これらの要件を念頭に置いて、次の質問についてフィードバックをお寄せください。
- 100Kbytes のデータ/ユーザーをセッション キャッシュに保存しますか、それとも 10 億件のレコード テーブルにクエリを実行しますか?
- django/PostgreSQL スタックは良い選択だと思いますか?
- どのホスティング サービスをお勧めしますか (Heroku / Amazon、GAE など) ?
フィードバックをお寄せいただきありがとうございます。