5

我需要创建一个分析系统。我已经使用 MognoDB 和 PHP 构建了系统,但没有使用 OLAP。现在我的查询确实是我能得到的最好的,但是系统真的很慢,因为没有立方体。加载过去 7 天的报告可能需要一分钟。我真的需要立方体的选项 - 切片和骰子。

那么对我来说解决方案是什么?是否有一个使用 MongoDB 构建的好的多维数据集系统,并且可以通过 PHP 插入和查看数据?也许 MongoDB 对我没有好处?我应该使用另一个数据库并从 0 启动所有系统吗?有哪些使用 PHP 的 OLAP 解决方案?

编辑:更多信息——嗯,系统就像谷歌分析。需要能够知道每天有多少观看次数,需要能够仅从指定的流量来源和国家/地区报告。该系统每天需要处理 1,000,000 个独特的视图。但不仅是观看次数,还需要能够查看有多少用户返回,每个用户的平均时间是多少等。

谢谢。

4

2 回答 2

2

MongoDB 不是为 OLAP 多维数据集类型的应用程序构建的。我可以想到两种方法:

1) 提前确定您需要执行哪些查询,并提前以最佳格式存储您的数据。例如,如果您想知道每个国家每天的访问量,那么在每次访问发生时执行以下操作:

db.visits.update({'country':country, 'day':current_day()}, {$inc:{visits:1}})

对每个指标重复。从您的应用程序到分析数据库的即发即弃更新将增加向访问者提供请求的最小开销。然后您的查询将在很大程度上被预先计算。

2) 试试 JasperSoft 的 MongoDB 后端。

于 2012-03-23T16:01:51.153 回答
2

为了更新一些响应,icCube现在提供对MongoDB的访问。您应该能够设置一些 MongoDB 查询来创建 icCube 将用于报告和分析的表。

于 2014-05-20T13:43:43.763 回答