django多个数据库,用于单个项目中的多个组织

时间:2014-10-02 09:07:34

标签: mysql django python-2.7

在我的项目中有两个模型,ORGANIZATION和CUSTUMER。我正在做的是当我向组织添加新客户时我将organisation_id保存到表CUSTOMER。但现在我担心我的项目的性能当数据库变得庞大时。

所以现在我计划为每个新创建的组织创建新数据库。并将该组织的所有信息保存在该组织的数据库中。但我不知道如何为每个新创建的组织创建一个新的数据库。我想知道哪种方法的性能更好。如果不是,请更正问题。

1 个答案:

答案 0 :(得分:1)

为每个组织创建新数据库没有意义。即使客户或组织的数量增长到数百或数千,将数据保存在单个数据库中也是最佳选择。

编辑:

您最初担心的是,组织数量的增加会影响绩效。那么,想象一下,如果必须为每个组织创建一个完整的数据库。您可以使用相同的表,索引,视图等进行n次复制。每个数据库都需要系统资源和磁盘空间。更不用说让Django意识到分裂所需的代码。您必须从 n 数据库中获取数据,而不是只在一个数据库中获取一个表。

另请注意,像PostgreSQL或MySQL这样的强大数据库非常能够管理数千或数百万条记录。他们将比您提出的任何代码更好地开箱即用。只需信任他们的数据,如果您发现性能下降,那么您可以在线找到大量提示来优化它们。