我想为网络创建一个“谷歌分析”类型的应用程序 - 即一个基于网络的工具,为我的数据库做一些报告和绘图。问题是数据库是巨大的,所以我不能实时查询,因为它们将花费太长时间,工具将无法响应。
我如何使用cron作业来帮助我?能够使我的图表响应的最佳方法是什么?我想我需要对一些数据库表进行反例化,但是如何更快地进行这些查询呢?我可以在另一个数据库表中存储哪些中间值以使其更快?
谢谢!
答案 0 :(得分:3)
商业智能(BI)是一门非常成熟的学科 - 您可以在任何有关扩展数据库的书籍中找到问题的答案。数据仓库。
高级战术列表包括:
一般情况下,动态报告会打破静态报告 - 因此,如果您正在进行强大的报告,我只会尝试将数据复制到适当的模型中,使用聚合,可能会更改数据库以获得良好的优化程序和相应的功能而不是批量运行报告。
答案 1 :(得分:1)
解决此问题的一种简单方法是创建一系列摘要表以包含预聚合数据。这些可以使用crontab定期填充。
或者,可能值得查看类似http://mondrian.pentaho.org的内容。
答案 2 :(得分:0)
我会熟悉“明星模式”