【发布时间】:2010-12-07 22:11:02
【问题描述】:
我们有一个由 django 驱动的新项目,该项目具有潜在的高流量特征(意味着大量的数据库交互)。所以我们需要提前考虑数据库的可扩展性。经过一些研究,我们仍然不清楚以下问题:
- 粗粒度:如何将一个 db 表(一个 django 模型)指定到特定的 db(可能在另一台服务器中)?
- 细粒度:如何将一组表行指定到特定的db(所谓的sharding,也可以在另一个db server中)?
- 如何指定写入和读取到不同的db?(这将有助于未来的mysql主/从复制)
我们正在寻找解决方案:
- 对应用程序透明(意味着我们不需要在views.py中添加额外的代码)
- 应该是ORM级别的(也就是说只需要在models.py中指定)
- 与当前(或未来)的 django 版本兼容(为未来的 django 升级保留最小的更改)
我还在做研究。如果我有一些水果,稍后会在这个线程中分享。
希望有经验的朋友可以解答。谢谢。
【问题讨论】: