我的应用程序需要针对不同级别的聚合进行分析,这就是OLAP工作负载。我也想经常更新我的数据库。
例如,这是我的更新看起来像(架构看起来像:时间,目标,源IP,浏览器 - >访问)(15:00-1-2-2010, www.stackoverflow.com, 128.19.1.1, safari) --> 105
(15:00-1-2-2010, www.stackoverflow.com, 128.19.2.1, firefox) --> 110
...
(15:00-1-5-2010, www.cnn.com, 128.19.5.1, firefox) --> 110
然后我想问一下上个月来自firefox浏览器对www.stackoverflow.com的总访问量是多少。
据我所知,Vertica系统可以以相对便宜的方式实现这一点(明智的性能和可扩展性,但可能不是成本方面的)。我在这里有两个问题。
1)是否有可以构建的开源产品来解决这个问题?特别是,蒙德里安系统的运作情况如何? (可扩展性和性能) 2)是否有HBase或Hypertable基础解决方案(显然,裸HBase / Hypertable不能这样做)? - 但如果有基于HBase / Hypertable的项目,可扩展性可能不会成为IMO的问题吗?
谢谢!
答案 0 :(得分:2)
您可以下载greenplum数据库的免费版(单节点版)。我自己没有尝试过,但我认为/猜测它是一个强大的野兽。请在此处阅读:http://www.dbms2.com/2009/10/19/greenplum-free-single-node-edition/
另一个选项是MongoDB,它快速且免费,您可以使用JavaScript编写MapReduce函数来进行分析。
我在这里的名声很低,可以添加到mongodb的超链接,所以你必须谷歌。我每个帖子只能添加一个超链接。
答案 1 :(得分:2)
zohmg project旨在使用Hadoop和HBase解决此问题。
答案 2 :(得分:2)
Facebook还在Hadoop上构建了Hive。非常简单 - 合理的查询API。
答案 3 :(得分:0)
您的数据模型是否比这更复杂?如果不是,你可能只是为它编写自定义代码。然后你可以真正调整它到你的数据。真正的产品必须提供很大的灵活性,需要很多复杂的实现,并因此受到速度的影响。
你的问题在一方面不明确:当你谈到可扩展性时,你的意思是什么?您是从许多网站收集数据,但只有有限数量的查询用户,还是您还有很多用户?这种情况导致了一个截然不同的模型。