我们有一个游戏每天向我们的服务器发送大约5000万个事件(事件有一个动作,日期,值和userId)。 我们希望对这些事件进行分析。是否有可能每天向mongodb插入5000万行,然后对其进行分析?我们应该使用一个集合吗? mongodb是这种事情的正确选择吗?
答案 0 :(得分:1)
只需将5000万条记录写入数据库(MongoDB或其他任何内容)就很容易,困难的部分是构建正在编写的数据,以便轻松回答您将要问的问题(也就是查询)它的。
MongoDB可以让您快速完成的一件事就是更新计数器,这样就可以预先计算出您之前需要的一些“分析”。这方面的一个例子可能是“每天有多少用户做过X”或“在特定日期完成了多少次操作”。当每个事件进入时,您将其插入到集合中,但也会根据日期,操作,用户等增加适当的计数器。
可以使用聚合框架对完整集合进行各种其他计算。它允许您聚合大量数据,包括各种过滤器,分组等。
对于MongoDB用户,Google Group上的一个帖子中有针对MongoDB的a discussion of making just these sorts of queries,我建议您看看它与您的要求有多接近。