我写了一个应用来记录用户与网站搜索框的互动,
查询字符串将另存为模型SearchQuery
的对象。每当用户在搜索框中输入一些数据时,我都可以在数据库中保存搜索查询和与查询相关的一些信息。
这是为了获得搜索趋势,
我的数据库模型中的字段是,
我的问题是,
可以从模型SearchQuery
中实例化多少个对象?如果数字有限制?
由于对象不相关(没有数据库关系)我应该使用MongoDB或某种NoSQL来提高性能吗?
这是一个好的设计,还是应该做一些更有效的工作呢?
Django版本1.6.5
Python 2.7版
答案 0 :(得分:1)
可以从模型SearchQuery实例化多少个对象?如果数字有限制吗?
您所选择的数据库可以处理多少,这可能是数百万。如果您担心,可以使用调度程序删除不再有用的旧查询。
由于对象不相关(没有数据库关系)我应该使用MongoDB或某种NoSQL来提高性能吗?
你可以,但它不太可能给你太多(如果有任何效率提升)。因为你经常写作和(大概)不经常的读取,所以它根本不会很难打到数据库。
这是一个好的设计,还是应该做一些更有效的工作?
我可能会提出两条建议。
一个。如果您要在搜索日志上频繁阅读look at using multiple databases。一个用于您的日志,另一个用于其他所有内容。
湾考虑只使用常规日志文件来获取此信息。同样,您可能只会不经常检查这些数据。因此,有一些强制论据可以将它组织成一个日志文件,可能是类似于CSV的文件,以便更轻松地对数据进行分析。