0

我正在考虑将 django/PostgreSQL 用于具有以下特征的应用程序:

  • 9,000,000 页/天。大多数页面包含大量图像
  • 230,000 名访客/天。只有大约 30% 的人会在网站上登录
  • 数据库中最大的表可能包含 +/- 10 亿行。这个表可以被分区,每个查询只能访问 2 个 mio 行。数据库不包含图像。

该应用程序的棘手方面(我认为)是我可以选择:

  • 经常查询10亿行的表
  • 或者在登录时将一些用户数据存储在会话中。每个用户在会话中存储的数据大小约为 100Kbytes 数据。这意味着如果我有 7,000 个并发用户登录,这将意味着大约 700 Mb 的缓存数据。

考虑到这些要求,我很想收到您对以下问题的反馈:

  • 您是将 100Kbytes 的数据/用户存储在会话缓存中,还是查询 10 亿条记录表?
  • 您认为 django/PostgreSQL 堆栈是一个不错的选择吗?
  • 您会推荐哪些托管服务(Heroku / Amazon、GAE、...)?

非常感谢您的反馈!

4

1 回答 1

2
  1. 绝对尽可能多地缓存。
  2. 是的,它们都经过了良好的测试并在生产中使用。
  3. 这实际上取决于您的要求和您的价格敏感度。请注意,亚马逊是 Iaas,这意味着它们托管基础设施,但您需要管理自己的堆栈(操作系统、框架、数据库)。Heroku/GAE 是 PaaS,这意味着它们管理整个 SW 堆栈——你只需上传代码,它们就可以扩展。GAE 支持 django 但不支持 Postgresql(它带有自己的数据存储)。
于 2013-04-21T18:51:30.430 回答