我正在考虑将 django/PostgreSQL 用于具有以下特征的应用程序:
- 9,000,000 页/天。大多数页面包含大量图像
- 230,000 名访客/天。只有大约 30% 的人会在网站上登录
- 数据库中最大的表可能包含 +/- 10 亿行。这个表可以被分区,每个查询只能访问 2 个 mio 行。数据库不包含图像。
该应用程序的棘手方面(我认为)是我可以选择:
- 经常查询10亿行的表
- 或者在登录时将一些用户数据存储在会话中。每个用户在会话中存储的数据大小约为 100Kbytes 数据。这意味着如果我有 7,000 个并发用户登录,这将意味着大约 700 Mb 的缓存数据。
考虑到这些要求,我很想收到您对以下问题的反馈:
- 您是将 100Kbytes 的数据/用户存储在会话缓存中,还是查询 10 亿条记录表?
- 您认为 django/PostgreSQL 堆栈是一个不错的选择吗?
- 您会推荐哪些托管服务(Heroku / Amazon、GAE、...)?
非常感谢您的反馈!