1

最適化されていない場合、リアルタイム情報に応答して postgreSQL データベースに多くの書き込みが必要になるアプリケーションがあります。

したがって、このデータ ストリームを (redis/redisco または memcache のいずれかを介して) キャッシュし、postgreSQL データベースで ~5 分ごとに単一の bulk_create を実行したいと考えています。

私が理解しているように、django memcache はメモリに格納されますが、書き込みが必要なときに memcache を無効にすることは可能です。

あるいは、おそらく redisco モデルを使用して情報を redis に入れ、データベースに対して ~5 分ごとに bulk_create を実行することを検討していました。

3 部構成の質問:

  • 長期的にスケーリングするには、どのオプションが適していますか?
  • それぞれの長所/短所は何ですか?
  • 最後に、私が読めるリファレンス/チュートリアルはありますか?

ありがとう!

4

1 に答える 1

3

時期尚早の最適化は諸悪の根源です。PostgreSQL は、大量の読み取り/書き込みの混合ワークロードを処理できます。そこから始めて、必要に応じて他のオプションの探索を開始しますが、ハイエンド サーバーを使用すると、PostgreSQL 9.2 がリリースされた時点で、1 秒あたり最大約 14000 の書き込みが可能になります (クエリの仕様によって異なります)。9.1 では、1 秒あたり約 3000 回の書き込みが最大になり、その違いはロック動作に関係しています。

まだ最適化しないでください。1 秒あたり数百回の書き込みを開始する場合は、おそらくそれだけの価値があります。ただし、特に単純な書き込みの場合は、アーキテクチャを単純にしておく方がよいでしょう。

于 2012-08-30T08:40:29.183 に答える