建好数据仓库后如何进行OLAP分析?

Posted

技术标签:

【中文标题】建好数据仓库后如何进行OLAP分析?【英文标题】:How to do OLAP analyse after building the Data Warehouse? 【发布时间】:2019-04-16 10:08:13 【问题描述】:

我们已经建立了一个数据仓库,其中包含多个事实表和多个维度表(在 mysql 服务器上)。

执行 OLAP 操作的下一步是什么?我读了一个答案,说 OLAP 操作通常用 MDX 表达式表示。 (https://***.com/a/18923809/7887590)

我可以在哪里执行我的 MDX 表达式来生成报告?

顺便说一句,OLAP 是一种过时的技术吗?因为这几年我看到关于这个话题的讨论越来越少了。

【问题讨论】:

你要处理多少行数据? @whytheq 现在大约 300 万行,数据量增长缓慢。 【参考方案1】:

我们使用 Microsoft 的本地报表服务器来托管 Power BI 文件,这些文件使用“导入数据”模式,而不是与其数据源的实时连接。

我们在报表服务器上托管的 Power BI 文件在其事实表中拥有多达 1500 万行(基数非常高的 3 或 4 列)。它们的运行速度非常快,与OLAP/MDX 相比,我们发现不同计数度量的速度有所提高。

Power BI 实际上会即时创建SSAS 的实例,因此您实际上使用的是与OLAP 完全相同的技术。

Power BI 非常灵活,大多数事情都可以使用 DAX 完成 - 事实上,DAX 的学习曲线比 MDX 开始时要温和得多。

因此,如果我有一个通过“导入数据”使用 15m 行数据的 powerbi 文件 (.pbix),我会执行以下操作:

将 pbix 上传到我们的报表服务器 向报表服务器添加刷新方案,例如'每小时刷新' 然后发生的事情是它会每小时获取 1500 万行数据,但是当用户与 pbix 交互时,数据位于集成到 pbix 中的 SSAS 实例中 - 所以所有计算都在内部执行内存中,无需额外往返服务器。

(我想念MDX,但我不会向任何人推荐)

【讨论】:

我对 Apache Kylin 有一些经验,需要用它来构建 OLAP 立方体并预先计算措施以加快查询速度。和你描述的一样,就像一个临时查询,所以查询速度不会是问题吧? @mingchau 我将编辑一些有关 PowerBI 的附加信息【参考方案2】:

OLAP 没有过时,但可能已经过时。现在流行的是直接对原始数据运行查询,但 IMO olap 仍然扮演着非常重要的角色,尤其是对于不精通 SQL 的用户。您可以在数据仓库(例如 Mondrian)上插入 OLAP 引擎,并针对星型模式运行 MDX 查询。 MDX 可能很难学习,但商业用户往往比 SQL 更喜欢它。

此外,您还可以使用拖放工具(Power BI、Tableau、Pentaho Analyzer),该工具可以与 OLAP 引擎(使用 MDX 或直接 SQL)对话,避免最终用户完全编写查询代码。

【讨论】:

以上是关于建好数据仓库后如何进行OLAP分析?的主要内容,如果未能解决你的问题,请参考以下文章

数据仓库DM DW OLAP之间的联系与区别

数据仓库和数据挖掘的OLAP技术

数据仓库架构及数据模型介绍

思迈特软件Smartbi:数据挖掘与数据仓库的一些基本概念

笔记数据仓库与数据挖掘数据仓库与联机分析处理

数据仓库系统的实现与使用(含OLAP重点讲解)