假设我正在为网站编写论坛组件,并希望跟踪用户访问的主题/问题,以便根据所述用户之前的选择推荐其他主题/问题。
我想象一个单独的数据/行不是很重要,它绝对需要每个条目的ACID属性;更不用说当用户群变大(大约数百万或数千万)时,这个数据集(投票和/或访问的主题)肯定会爆炸。这是使用say,MongoDB的情况吗?存储此类数据的一般方法是什么?
答案 0 :(得分:2)
对于RDBMS来说,数以千万计的行并不是什么大不了的事情,你绝对可以使用它。
但是,您可能是正确的,因为您不需要大多数功能。像这样的AFAIK系统通常只需将访问数据记录到商店(日志文件,cassandra,...)并使用批处理作业来分析记录的数据并在博客之间创建建议或关系(之后可以存储)来实现。原因是,您需要相当复杂的算法,必须考虑所有数据,以获得您想要的信息。
因为简单的SQL查询不会给你必要的答案,并且对存储的读取访问时间对于批处理工作来说不太相关,所以你可以轻松地使用写优化的数据结构,如已经提到的日志和cassandra。