每天使用数百万个事件的分析



我们有一个游戏,每天向我们的服务器发送大约5000万个事件(事件有动作、日期、值和userId)。我们希望对这些事件进行分析。是否有可能每天向mongodb插入5000万行,然后对其进行分析?我们应该使用一个单独的集合吗?mongodb是正确的选择吗?

只需将5000万条记录写入数据库(MongoDB或任何其他数据库)是容易的部分,而困难的部分是以一种可以轻松回答您将要询问的问题(也称为查询)的方式构建正在写入的数据。

MongoDB可以让你快速完成的一件事是更新计数器,这使得你可以预先计算一些你提前知道你一直需要的"分析"。一个例子可能是"每天有多少用户做X"或"在特定的一天做了多少操作"。当每个事件进入时,您将其插入集合中,但也会根据日期、操作、用户等增加适当的计数器。

可以使用聚合框架对整个集合进行各种其他计算。它将允许您聚合大量数据,包括各种过滤器、分组等。

在谷歌MongoDB用户小组的一个线程中,有一个关于对MongoDB进行这些查询的讨论,我建议你看看它与你的需求有多接近。

最新更新