OLAP Cube - 数据立方体

Posted

技术标签:

【中文标题】OLAP Cube - 数据立方体【英文标题】:OLAP Cube - Data Cube 【发布时间】:2017-07-26 09:05:17 【问题描述】:

我有一个关于 OLAP 多维数据集或数据多维数据集的快速问题。 当我查看image 时,我并不真正理解多维数据集上表示的数据的“位置”。我猜这个是表面上的,对吧?否则旋转立方体不会显示完全不同的值。

那么,我的问题是,“立方体中”存储了哪些数据?

不应该是……

f(x,y,z) -> value (1)

值在单元格内?但在这里我只看到

f(x,y) -> surfacevalue (2a)

f(x,z) -> surface value (2b)

f(y,z) -> surface value (2c)

那么,多维数据集中实际存储了什么?所有映射 (1 - 2c)。

【问题讨论】:

【参考方案1】:

不幸的是,有很多与 OLAP 数据库相关的令人困惑的术语。 Cubes 是最严重的违规者之一,因为它适用于所有数据库,无论维数如何。尽管您可以合理地假设立方体指的是 3 维对象,但事实还是如此。

在这种情况下,立方体被用作隐喻,不应从字面上理解。之所以使用它是因为很难说明/想象超过 3 维的对象。

一维数据集可以这样表示:

        10.00   15.00   16.00
--------------------------------
Year    2014    2015    2017

在这里我们可以看到按年份绘制的度量。

二维可以这样说明:

Region  1 |   5.00    2.00    4.00
        2 |   5.00    5.50    5.00
        3 |   0.00    7.50    5.00
----------|--------------------------
Year      |   2014    2015    2017

现在我们可以看到针对年份和地区绘制的相同度量。

3 维可以被认为是一个立方体。 Wikipedia picture you linked to 就是一个很好的例子。

现在我们进入更高维度,因为示例很难/不可能在 2D 屏幕上生成。在实践中,4/5/6/等维度报表通常以二维报表的形式呈现,并应用一系列过滤器,限制返回的记录和总数。

例子:

Department:   Marketing
Customer Age: 18 - 24

Region  1 |   1.15    1.50    0.00
        2 |   2.75    4.01    1.25
        3 |   0.00    0.00    1.14
----------|--------------------------
Year      |   2014    2015    2017

这显示了我们使用 2 个附加过滤器的度量。现在是 4d 报告。

多维数据集的概念试图表达数据有层,您可以在这些层中导航。

莫纳什大学的 Rob Meredith 博士在他的podcasts 中谈到了这个主题。我认为这大约是Semester 1, 2009 - Episode 3Semester 1, 2009 - Episode 4 的一半。

【讨论】:

当您可以在数据库中创建相同的 OLAP 结构而不是使用 OLAP 软件来完成时,这真的很令人困惑。本质上,创建一个在相同星型模式中处理的 OLAP 数据集市,而不是使用 SQL Server Analysis Services 等软件来构建、处理、存储和提供对所述多维数据集的访问以进行报告。但是,这样做有利也有弊。例如,SSAS 旨在预处理该数据并使其快速用于所述报告。

以上是关于OLAP Cube - 数据立方体的主要内容,如果未能解决你的问题,请参考以下文章

在 Snowflake 中构建 OLAP Cube

c#立方体/多维数据集

Apache Kylin介绍

Apache Kylin介绍

Kylin构建Cube及高级设置

为人口增长立方体设计 Olap 立方体维度和事实