构建网站分析工具的建议(最好是Python友好) - OLAP/Python

3 投票
2 回答
2435 浏览
提问于 2025-04-17 10:47

我准备开始开发一个用于电子商务网站的网络分析工具。

我会记录几种不同的事件,主要是用户点击页面上各种元素和查看页面的情况。

这些事件会带上一些额外的信息,比如登录用户的用户名、国家、年龄等等。而页面本身也会有其他信息,比如类别、子类别、产品等。

我的公司希望能有一个类似OLAP立方体的东西,这样就可以回答一些问题,比如:

来自某个国家的客户访问了哪个类别?

2012年1月,某个类别的页面浏览量是多少?

来自某个国家的客户访问了哪个类别?

我理解的是,我应该使用OLAP引擎来记录这些事件,然后建立一个报告界面,让我的同事们可以使用。

我这样理解对吗?你有什么建议关于我应该使用的引擎和前端/报告工具吗?我是一名Python程序员,所以任何与Python兼容的工具都很好。

谢谢!

2 个回答

2

正如选中的答案所提到的,这要看你的数据量有多大。不过,如果你遇到一种情况,觉得一个轻量级的Python OLAP框架就足够用了,那你可以试试Cubes,它的源代码在github上。这个框架支持SQL后端(其他类型的后端也可以实现),并且提供了一个轻量级的HTTP OLAP服务器。你可以在这里找到一个使用它的应用示例(PHP前端配合HTTP切片OLAP服务器后端)。不过要注意,它没有可视化层和复杂查询的功能,这也是为了保持它的轻便。

2

主要的问题是你的数据立方体(cube)有多大,以及你是否需要一个开源的OLAP解决方案。

如果你要处理的是比较大的数据立方体,并且希望为未来的功能留出空间,那么你可能需要选择一个真正的OLAP服务器。其中有一些是开源的,比如Mondrian,还有一些则有“有限”的社区版,比如PaloicCube。这里重要的一点是要兼容MDX和XMLA,这两个是OLAP的标准,这样你就可以连接不同的报表工具或者使用现有的库。根据我的理解,目前没有Python版本的XMLA库,像Java或.NET那样,所以不确定这是不是一个好的方向。

如果你的数据立方体比较小,你可以自己开发一些东西,或者选择其他更快速的解决方案,就像Charlax的评论所提到的那样。

撰写回答