可以使用Django模型实例化的最大对象数量?

时间:2015-03-05 19:44:16

标签: python django mongodb python-2.7 architecture

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

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

  1. 字符字段(max_length = 30)
  2. 一个PositiveIntegerField
  3. 布尔字段
  4. 我的问题是,

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

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

    3. 这是一个好的设计,还是应该做一些更有效的工作呢?

    4. Django版本1.6.5

      Python 2.7版

1 个答案:

答案 0 :(得分:1)

  1.   

    可以从模型SearchQuery实例化多少个对象?如果数字有限制吗?

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

  2.   

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

    你可以,但它不太可能给你太多(如果有任何效率提升)。因为你经常写作和(大概)不经常的读取,所以它根本不会很难打到数据库。

  3.   

    这是一个好的设计,还是应该做一些更有效的工作?

    我可能会提出两条建议。

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

    湾考虑只使用常规日志文件来获取此信息。同样,您可能只会不经常检查这些数据。因此,有一些强制论据可以将它组织成一个日志文件,可能是类似于CSV的文件,以便更轻松地对数据进行分析。