Database design 我如何设计和实现自助式定制报告?

Database design 我如何设计和实现自助式定制报告?,database-design,architecture,reporting,Database Design,Architecture,Reporting,需要什么样的架构、设计和软件来提供类似于谷歌分析提供的优秀定制报告功能。更具体地说,我们希望用户能够从列表中指定维度和指标,并生成报告 我们需要数据仓库吗 我们需要OLAP吗 数据是否可以访问 层需要ORM、动态sql或 存储过程 有第三个吗 可以 让我们走一段路 有没有其他人(公司、开发人员)在谷歌的水平上实现了这一功能?例子 注意 我对打造谷歌分析的竞争对手不感兴趣。我希望将报告的便捷性应用于我们自己独特的数据集 谢谢您可能想退房。它不是免费的,但作为一种产品,它可以让你主持自己的分析

需要什么样的架构、设计和软件来提供类似于谷歌分析提供的优秀定制报告功能。更具体地说,我们希望用户能够从列表中指定维度和指标,并生成报告

  • 我们需要数据仓库吗
  • 我们需要OLAP吗
  • 数据是否可以访问 层需要ORM、动态sql或 存储过程
  • 有第三个吗 可以 让我们走一段路
有没有其他人(公司、开发人员)在谷歌的水平上实现了这一功能?例子

注意

我对打造谷歌分析的竞争对手不感兴趣。我希望将报告的便捷性应用于我们自己独特的数据集


谢谢

您可能想退房。它不是免费的,但作为一种产品,它可以让你主持自己的分析

Piwik()是一个很棒的开源实现


至于建立一个谷歌分析的竞争对手,分析将不会是困难的一部分。如果您的服务着火,最大的困难是在数据库上进行扩展

您肯定需要一个在非高峰时间运行大量ETL、agg和预agg流程的数据仓库。OLAP多维数据集对于高容量web分析来说并不能真正扩展

对于数据收集,您可能还需要使用MSMQ或类似的工具以及硬件负载平衡。磁盘I/O是一个典型的瓶颈,因此在内存中工作并进行一些预聚合肯定会有所帮助。在我以前在微软的工作中,我们的一些遗留数据收集系统直接记录到日志文件中,而不是数据库中。我们使用了)并且几乎24小时都在进行大量的ETL和聚合


数据收集是it的核心,如果要扩展,您必须构建最先进的数据仓库。我们几乎完全依赖于存储过程。我们有数千个,其中一些非常复杂,经过了大量优化。除了性能之外,可伸缩性也是一个大问题。

您指的是开发人员或公司中的其他人吗?Omniture是google analytics的一个巨大竞争对手,甚至可以超越他们。但它们不是免费的。