【发布时间】:2015-12-23 16:18:20
【问题描述】:
所以,我正在考虑使用 python2 django(-rest-framework)、postgres 和 angular 编写一个应用程序。
我知道有很多事情可以做
- 负载平衡器后面的多服务器设置
- 数据库复制/分片?
- 缓存(以各种方式)
- 为 serpy 交换 DRF 序列化程序
- 在 python3 上运行
- 在 pypy 上运行
我的问题是 - 这些(或其他事情)中的哪一个真正应该在项目开始时就完成?
【问题讨论】:
-
我不是性能专家,但根据我的经验,Django 应用程序的瓶颈是数据库访问。如果您现在知道您将需要可扩展性,也许您应该考虑使用 NoSQL?
-
“NoSQL”是一个非常模糊的术语,描述了许多不相关的技术,根据具体的项目,这些技术可能或无助于缩放(无论是垂直还是水平)。但作为一般经验法则,我不会放弃一个强大的 SQL 数据库作为主要数据存储,除非我有明确的证据表明我不需要 SQL 数据库并且它确实是一个瓶颈。
-
这个项目实际上将是一个 MEAN 项目的重写 - 其中一个更大的问题是 MongoDB 缺乏关系数据/查询导致 严重 问题 - Cassandra 和其他一些系统似乎很诱人 - 但是具有出色查询语言和不错的 postGIS 支持的 Django ORM 是我不太愿意放弃的东西 - 不过,如果它真的有意义,我愿意!
标签: python angularjs django postgresql python-3.x