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

The maximum number of objects that can be instantiated with a Django model?

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

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

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

我的问题是,

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

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

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

Django 版本 1.6.5

Python 版本 2.7

  1. How many objects can be instantiated from the model SearchQuery? If there is a limit on numbers?

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

  2. As the objects are not related (no db relationships) should I use MongoDB or some kind of NoSQLs for performance?

    你可以,但它不太可能给你很多(如果有任何效率提升的话)。因为您经常写入和(大概)不经常读取,所以它不太可能对数据库造成很大的影响。

  3. Is this a good design or should I do some more work to make it efficient?

    我可能会提出两个建议。

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

    b。考虑仅使用常规日志文件来获取此信息。同样,您可能不会经常检查这些数据。因此,有很多参数可以将其通过管道传输到日志文件中,可能类似于 CSV,以便更容易地进行数据分析。