如何快速构建大规模分析服务器?

时间:2012-09-13 07:30:44

标签: node.js nosql analytics amazon-dynamodb

我需要快速且廉价地构建大规模(七位数及以上)的分析服务器。

Piwik将是一个简单的选择,但对于我迄今为止所收集的内容,Piwik很难扩展,并且可能需要相当庞大的服务器来处理负载。

我的第二个想法是创建快速而又脏的Node.js服务器,它只是将所有内容推送到Amazon DynamoDB,以便可以从第一天开始收集数据,然后再构建UI。这将是快速创建和缩放(垂直和水平)。但是,我想知道DynamoDB是否是这种用途的正确选择? (收集数据,生成报告)

2 个答案:

答案 0 :(得分:1)

我正在使用DynamoDB,并且不会将它用于您的应用程序。

DynamoDB确实有很多限制。其中,您只能有一个hash_key,也可以只有一个range_key

您可以使用hash_key对在给定query下分组的项目进行一些“分析”,但实际上没有任何想象力。对于复杂的查询,您必须使用scan或EMR,它们速度慢且价格昂贵,并且由于节流而存在一些缺点。

尽管如此,NoSQL似乎是一个不错的选择,至少对于应用程序的原型设计阶段而言。但是,我会推荐MongoDB。您可以索引任何列,执行复杂查询,不必担心数据限制。分片和复制并不难设置。

MongoDB拥有强大的生态系统和社区,DynamoDB还没有(因为它更年轻)。 MongoDB还提供托管服务,允许您像使用DynamoDB一样快速启动应用程序。

答案 1 :(得分:1)

Piwik可扩展到数百万页&每月有数十万个跟踪网站。查看他们的文档:http://piwik.org/docs/optimize/和:http://piwik.org/blog/2012/07/piwik-high-scale-performance-report-as-of-july-2012/