从大型应用收集Google Analytics的策略

时间:2009-11-21 18:57:09

标签: graph analytics datastore

Superfeedr是一种feed-parsing on demand服务。我们希望为用户提供分析,我们正在调查最佳策略。

简而言之,我们希望跟踪系统中的操作数量(事件,如:给定Feed中的新条目)以及聚合数据(Feed的订阅者数量)。

当然,可以根据事件“计算”聚合数据。 (订阅源的订阅者数量是订阅的总和,减去取消订阅的总和)。然而,由于我们希望随着时间的推移(每天的嫌疑人数量)进行研究,因此我们会一遍又一遍地重新计算同样的事情,因此我们会重新计算同样的事情。

如何在您的应用中构建此类组件?什么信息流?什么数据存储?什么图形解决方案?等...

我知道这是一个非常开放的问题,但我相信我们不是第一个有此需要的人!

[UPDATE]: 基础设施:我们有一组工作人员,他们是XMPP客户并且一起互动。它们基于EventMachine,这意味着它们不会阻止IO。 期望的目标:我们必须能够收集大量数据。目前,我们已经达到200-300 msg / sec,我们的目标是10x-100x。

1 个答案:

答案 0 :(得分:2)

如果没有关于您的基础架构和所需扩展目标的更多信息,很难说。您可能会发现这张关于How Twitter Uses Hadoop的幻灯片是指导性的。它是Kevin Weil在最近的NoSQL East conference提出的。

alt text

借助Twitter所做的创意,您可以考虑将架构分为收集,分析和渲染阶段。

收集阶段:超低延迟。非常可扩展。很多绑定选择。在facebook开发。

  

处理节点日志事件 - > Scribe - > HDFS

分析阶段:类似SQL的查询语言,允许您进行探索式即席查询。

  

HDFS - > Pig - > MySQL的

渲染阶段:在您当前的网络框架中实施

  

MySQL - > JSON - > Memcached - > Flash图表

此处有一些关于为网络选择Flash图表组件的帖子。我个人用AmCharts取得了很好的成功。