【问题标题】:Heroku Postgres Django: Best database configuration for efficency?Heroku Postgres Django:提高效率的最佳数据库配置?
【发布时间】:2013-09-19 02:20:14
【问题描述】:

我正在构建一个将托管在 Heroku 上的电子商务应用程序,使用他们的 Postgres 数据库,并且该应用程序将使用 Django 构建。将有大量的产品和产品类别,每个产品类别都有详细的信息。每个产品类别都有非常不同的领域。例如计算机与服装。设置数据结构的最佳方法是什么? (选项 a)将所有详细信息字段集中到一个表中。 (选项 B)为每种类型的产品详细信息创建一个单独的表。 (选项 C)所有产品和详细信息的一张表。还是我没有想到的其他选择?下面是数据结构和相关字段的一个极其简略的示例。

选择一个

Table 1 = All products
- Id
- Name
- Model#
- Manufacturer
- Image
- Foreign Key to appropriate product details

Table 2 = Computers (product detail)
- Ram
- Cpu

Table 3 = Clothing (product detail)
- Size
- Color

选择 B

Table 1 = Products
- Id
- Name
- Model
- Make
- Image
- Foreign Key to product detail

Table 2 = Product Detail
- Size
- Color
- Ram
- Cpu

选择 C

Table 1 = Products
- Id
- Name
- Model#
- Manufacturer
- Image
- Size
- Color
- Ram
- Cpu

【问题讨论】:

    标签: django postgresql database-design heroku relational-database


    【解决方案1】:

    一般而言,从良好规范化的设计开始并在必要时进行非规范化比采用其他方式更容易。所以我将从选项 A 开始。请记住,这意味着您的平均读取范围更窄,这意味着从磁盘中检索到的页面更少。假设索引正常,您绝对应该从最规范化的设计开始,然后如果遇到无法通过更好的索引处理的问题,则根据绝对需要进行非规范化。

    但是,这种非规范化并不是 OLTP 应用程序的标准,因为它很少有助于整体吞吐量并且会带来巨大的复杂性成本。

    【讨论】:

      猜你喜欢
      • 2021-04-24
      • 2013-02-11
      • 1970-01-01
      • 2020-04-08
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      • 2015-06-08
      • 2013-08-17
      相关资源
      最近更新 更多