【问题标题】:The maximum number of objects that can be instantiated with a Django model?可以使用 Django 模型实例化的最大对象数?
【发布时间】:2015-03-05 19:44:15
【问题描述】:

我写了一个应用来记录用户与网站搜索框的交互, 查询字符串保存为模型SearchQuery 的对象。每当用户在搜索框中输入一些数据时,我都可以将搜索查询以及与查询相关的一些信息保存在数据库中。 这是为了获取搜索趋势的想法,

我的数据库模型中的字段是,

  1. 一个字符字段 (max_length=30)
  2. 一个正整数字段
  3. 布尔字段

我的问题是,

  1. 可以从模型SearchQuery 中实例化多少个对象?如果有数量限制?

  2. 由于对象不相关(没有数据库关系),我应该使用 MongoDB 还是某种 NoSQL 来提高性能?

  3. 这是一个好的设计还是我应该做更多的工作来提高效率?

Django 版本 1.6.5

Python 2.7 版

【问题讨论】:

    标签: python django mongodb python-2.7 architecture


    【解决方案1】:
    1. 可以从模型 SearchQuery 中实例化多少对象?如果有数量限制?

      您选择的数据库可以处理多少,这可能是数百万。如果您担心,您可以使用调度程序在旧查询不再有用时删除它们。

    2. 由于对象不相关(没有数据库关系),我应该使用 MongoDB 还是某种 NoSQL 来提高性能?

      你可以,但它不太可能给你很多(如果有效率提升的话)。因为您正在进行频繁的写入和(可能)不频繁的读取,所以它不太可能对数据库造成很大的影响。

    3. 这是一个好的设计还是我应该做更多的工作来提高效率?

      我可能会提出两个建议。

      一个。如果您要经常阅读搜索日志,look at using multiple databases。一个用于您的日志,一个用于其他所有内容。

      b.考虑仅使用常规日志文件来获取此信息。同样,您可能只是不经常检查这些数据。因此,有一些字符串参数可以将其通过管道传输到可能类似于 CSV 的日志文件中,以便更轻松地对其进行数据分析。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-22
      • 2011-10-22
      • 2023-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      相关资源
      最近更新 更多