【问题标题】:Any scalable OLAP database (web app scale)?任何可扩展的 OLAP 数据库(Web 应用程序规模)?
【发布时间】:2011-01-05 18:09:33
【问题描述】:

我有一个应用程序需要对不同级别的聚合进行分析,这就是 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 的问题)?

谢谢!

【问题讨论】:

  • 您预期的数据量是多少? 100万次点击/天?一千万?

标签: database hadoop olap hbase olap-cube


【解决方案1】:

您的数据模型是否比这更复杂?如果不是,您最好为它编写自定义代码。然后,您可以真正将其调整为您的数据。真正的产品必须提供很大的灵活性,需要很大的复杂性才能实现这一点,并因此受到速度的影响。

您的问题在一个方面并不清楚:当您谈到可扩展性时,您的意思是什么?您是从大量站点收集数据但查询用户数量有限,还是您也有很多用户?这种情况导致了一个截然不同的模型。

【讨论】:

  • 我认为数据模型在这里并不重要。原帖希望在 Hbase 等之上找到预计算(长方体格)的解决方案。您说的是 Mapreduce,它扩展了 Hive 正在做的事情,但本质上它是批处理模式处理
  • 不,我说的是编写代码和使用平面文件。当然取决于数据模型和实体的数量。
【解决方案2】:

Facebook 还在 Hadoop 之上构建了 Hive。上手非常简单 - 也是合理的查询 API。

http://mirror.facebook.net/facebook/hive/

【讨论】:

    【解决方案3】:

    zohmg project 旨在使用 Hadoop 和 HBase 解决这个问题。

    【讨论】:

      【解决方案4】:

      您可以下载 greenplum 数据库的免费版(单节点版)。我自己没有尝试过,但我认为/猜它是一只强大的野兽。在这里阅读:http://www.dbms2.com/2009/10/19/greenplum-free-single-node-edition/

      另一个选择是 MongoDB,它快速且免费,您可以使用 JavaScript 编写 MapReduce 函数来进行分析。

      我在这里的声誉很低,无法添加到 mongodb 的超链接,所以你必须谷歌。每个帖子我只能添加一个超链接。

      【讨论】:

      • 澄清一下:Greenplum SNE“像啤酒一样免费”。您不必为此付费,但可以部署它的服务器的大小和数量存在许可限制,并且源代码未公开发布。
      猜你喜欢
      • 2011-03-16
      • 2010-10-26
      • 1970-01-01
      • 2017-07-24
      • 1970-01-01
      • 2016-03-18
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多