2010-12-16 68 views
7

我想构建一个类似于Google Analytics的网络应用程序,在该应用程序中我收集了有关客户最终用户的统计数据,并根据这些数据向客户展示了分析结果。网络规模分析应用程序的数据库选择

特点:

  • 高可扩展性,处理非常大的量
  • 间隔式 - 查询总是在一个单一的客户的数据运行
  • 支持分析查询(向下钻取,切片等)

由于需求分析,我正在考虑使用OLAP/BI套件,但我不确定它是否适合这种规模。 NoSQL数据库?简单的RDBMS会做什么?

回答

4

这些我在生产环境中使用的工作,它的作品就像一个魅力。

我COPLED三件事

的PostgreSQL + LucidDB +蒙德里安(更普遍的整个Pentaho的BI套件组件)

  • PostgreSQL:我不打算来形容PostgreSQL的,真正强大的开源RDBMS会让你做 - 当然 - 你需要的一切。我用它来存储我的运营数据。

  • LucidDB:LucidDB是一个开源的列存储数据库。高度可扩展性,与PostgreSQL相比,可以提供更多的处理时间来检索大量数据。它并未针对事务处理进行优化,但针对密集读取。这是我的数据仓库数据库

  • Mondrian:Mondrian是一个开源的R-OLAP多维数据集。 LucidDB使得将这两个程序连接起来变得很容易。

我建议你看看整个Pentaho BI Suite,它值得,你可能想使用一些组件。

希望我能帮上忙,

+0

谢谢! Pentaho BI有什么东西可以满足我的许多客户使用相同系统的具体需求?每个客户都会登录到系统,只需要访问他自己的数据。此外,这种方法的规模如何? – 2010-12-16 10:21:29

+0

你的意思是“只访问他自己的数据”,这是在应用程序层。数据库没有任何处理它。对于许多客户来说,如果您真的需要,可以在云上部署Pentaho。 – Spredzy 2010-12-16 10:37:23

1

我说已经到位OLAP分析总是很高兴,然后对使用MDX复杂的数据分析的巨大潜力。

  • 你是什么意思大量?
  • 您的客户用户信息在哪里?
  • 你打算使用哪种前端和报告?

干杯。

免责声明:我会做出一些宣传了自己的解决方案 - 看看到www.icCube.com和我联系了解更多详情

1

有你可以选择为真正的网络规模的两种主要架构:

1。“BI” 架构

2. “NoSQL的” 架构

  • (可选)事件journaller或不可变的事件存储馈送
  • NoSQL的数据库(例如Cassandra,了Riak,HBase的)饲料
  • (例如,使用D3.js

不可改变的事件商店或journaller自定义分析UI是那里,因为在大多数情况下,你想成为配料您的分析事件和做散装更新到您的数据库(即使是像HDFS一样) - 而不是为每个页面视图进行原子写入等。

对于SnowPlow,我们的开源分析平台构建于Hadoop和Hive上,事件日志全部收集首先在S3上批量加载到Hive中。

请注意,“NoSQL体系结构”将涉及更多的开发工作。请记住,无论采用哪种体系结构,只要客户的数量增长到史无前例(每位客户数十亿行),客户就可以随时为客户提供服务 - 因为跨客户分析无需(我猜测)。

相关问题