什么是数据立方体?

2025年3月17日 | 阅读 3 分钟

当数据在称为数据立方体的多维矩阵中进行分组或组合时。数据立方体方法有一些备用名称或一些变体,例如“多维数据库”、“物化视图”和“OLAP(联机分析处理)”。

这种方法的一般思路是物化一些经常查询的昂贵计算。

例如,一个包含模式 sales(零件、供应商、客户和售价)的关系可以物化为一组八个视图,如图所示,其中 psc 表示由分组三个属性零件、供应商和客户计算的聚合函数值(例如总销售额)的视图,p 表示由仅分组零件计算的相应聚合函数值的视图,等等。

What is Data Cube

数据立方体是从数据库中的属性子集创建的。选择特定属性作为度量属性,即对其值感兴趣的属性。选择其他属性作为维度或功能属性。度量属性根据维度进行聚合。

例如,XYZ 可能会创建一个销售数据仓库,以记录商店在时间、商品、分店和地点这几个维度上的销售额。这些维度使商店能够跟踪商品的月销售额以及商品的销售分店和地点。每个维度都可能有一个与其关联的表,称为维度表,它描述了维度。例如,商品的维度表可能包含属性 item_name、brand 和 type。

数据立方体方法是一种有趣的技术,具有许多应用。在许多情况下,数据立方体可能很稀疏,因为并非每个维度中的每个单元格都可能在数据库中具有对应的数据。

应该开发一些技术来有效地处理稀疏立方体。

如果查询包含的常量比数据立方体中提供的常量级别更低,则不清楚如何充分利用存储在数据立方体中的预先计算的结果。

模型以数据立方体的形式查看数据。OLAP 工具基于多维数据模型。数据立方体通常对 n 维数据进行建模。

数据立方体使数据能够在多个维度中建模和查看。多维数据模型围绕一个中心主题组织,例如销售和交易。事实表代表了这一主题。事实是数值度量。因此,事实表包含度量(例如 Rs_sold)和指向每个相关维度表的键。

维度是定义数据立方体的事实。事实通常是数量,用于分析维度之间的关系。

What is Data Cube

示例:2-D 表示中,我们将查看 All Electronics 的销售数据,这些数据是关于每季度售出的商品,地点在温哥华。测量值以销售额(千美元)显示。

What is Data Cube

3 维立方体

假设我们想使用第三个维度查看销售数据。例如,假设我们想按照时间、商品以及芝加哥、纽约、多伦多和温哥华这些城市的位置来查看数据。测量值以销售额(千美元)显示。这些 3-D 数据显示在表中。表的 3-D 数据表示为一系列 2-D 表。

What is Data Cube

从概念上讲,我们可以以 3-D 数据立方体的形式表示相同的数据,如图所示

What is Data Cube

假设我们想使用第四个附加维度(例如供应商)查看我们的销售数据。

在数据仓库中,数据立方体是 n 维的。包含最低级别汇总的立方体称为基本立方体

例如,图中的 4-D 立方体是给定时间、商品、位置和供应商维度的基本立方体。

What is Data Cube

图显示了销售数据的 4-D 数据立方体表示,按照时间、商品、位置和供应商维度。显示的度量值是销售额(千美元)。

最顶层的 0-D 立方体,它包含最高级别的汇总,被称为顶点立方体。在本例中,这是总销售额或销售额(以美元计),汇总了所有四个维度。

立方体的格子形成数据立方体。该图显示了为时间、商品、位置和供应商维度创建 4-D 数据立方体的立方体格子。每个立方体代表不同程度的汇总。

What is Data Cube