定义:数据立方体是一类多维矩阵,让用户从多个角度探索和分析数据集,通常是一次同时考虑三个因素(维度)。
当我们试图从一堆数据中提取信息时,我们需要工具来帮助我们找到那些有关联的和重要的信息,以及探讨不同的情景。一份报告,不管是印在纸上的还是出现在屏幕上,都是数据的二维表示,是行和列构成的表格。在我们只有两个因素要考虑时,这就足矣,但在真实世界中我们需要更强的工具。
数据立方体是二维表格的多维扩展,如同几何学中立方体是正方形的三维扩展一样。 “立方体”这个词让我们想起三维的物体,我们也可以把三维的数据立方体看作是一组类似的互相叠加起来的二维表格。
但是数据立方体不局限于三个维度。大多数在线分析处理( OLAP)系统能用很多个维度构建数据立方体,例如,微软的SQL Server 2000 Analysis Services工具允许维度数高达64个(虽然在空间或几何范畴想像更高维度的实体还是个问题)。
在实际中,我们常常用很多个维度来构建数据立方体,但我们倾向于一次只看三个维度。数据立方体之所以有价值,是因为我们能在一个或多个维度上给立方体做索引。
关系的还是多维的?
由于数据立方体是一个非常有用的解释工具,所以大多数 OLAP产品都围绕着按多维阵列建立立方模型这样一个结构编制。这些多维的OLAP产品,即MOLAP产品,运行速度通常比其他方法更快,这是因为能直接把索引做进数据立方的结构,方便收集数据子集。
然而,对于非常大的多维数据集, MOLAP方案并不总是有效的。随着维度数目的增加,立方体变得更稀疏,即表示某些属性组合的多个单元是空的,没有集合的数据。相对于其他类型的稀疏数据库,数据立方体往往会增加存储需求,有时会达到不能接受的程度。压缩技术能有些帮助,但利用这些技术往往会破坏MOLAP的自然索引。
数据立方体还可以用其他的方法构建。关系 OLAP就利用了关系数据库模型。ROLAP数据立方体是按关系表格的集合实现的(最多可达维度数目的两倍),来代替多维阵列。其中的表格叫做立方单元,代表特定的视图。
由于立方单元是一个常规的数据库表格,所以我们能用传统的 RDBMS技术(如索引和连接)来处理和查询它们。这种形式对大量的数据集合可能是有效的,因为这些表格必须只能包含实际有数据的数据立方单元。
但是 ROLAP缺少了用MOLAP实现时所具有的内在索引功能。相反,给定表格中的每个记录必须包括所有的属性值而任何集合的或摘要的数据。这种额外的开销可能会抵消掉一些节省出来的空间,而隐性索引的缺少意味着我们必须提供显性的索引。
从结构角度看,数据立方体由两个单元构成:维度和测度。维度已经解释过了,测度就是实际的数据值。
记住这点是很重要的:数据立方体中的数据是已经过处理并聚合成立方形式。因此,通常不需要在数据立方体中进行计算。这也意味着我们看到数据立方体中的数据并不是实时的、动态的数据。
立方体中的数据已经过摘要,表示诸如计件销售、店面销售、区域销售、销售纯利和完成订单的平均时间等数据。有了这些数据,分析师能针对一个或全部产品、客户、销售代理等,就这些数字中的一个或全部进行分析。这样,在预测趋势和分析业绩时,数据立方体就非常有用,而表格最适合报告标准化的运作情况。
关系 OLAP就利用了关系数据库模型。ROLAP数据立方体是按关系表格的集合实现的(最多可达维度数目的两倍),来代替多维阵列。其中的表格叫做立方单元,代表特定的视图。
由于立方单元是一个常规的数据库表格,所以我们能用传统的 RDBMS技术(如索引和连接)来处理和查询它们。这种形式对大量的数据集合可能是有效的,因为这些表格必须只能包含实际有数据的数据立方单元。
但是 ROLAP缺少了用MOLAP实现时所具有的内在索引功能。相反,给定表格中的每个记录必须包括所有的属性值而任何集合的或摘要的数据。这种额外的开销可能会抵消掉一些节省出来的空间,而隐性索引的缺少意味着我们必须提供显性的索引。
从结构角度看,数据立方体由两个单元构成:维度和测度。维度已经解释过了,测度就是实际的数据值。
数据立方体(Cube)
维度(Dimension)
成员(Member),又称维度成员(Dimension Member)
度量(Measure)
级别(Level)
维度(Dimension)
维度就是描述数据的业务角度,不同的分析场景会有若干的维度。类似于一个坐标轴
体现在数据结构中,每个维度都应该会对应一张表,如果该维度存在多个等级,这张表中的字段应该可以体现出来
维度成员(Dimension Member)
若是维度相当于坐标轴,那么维度成员就相当于坐标轴上的值。对应在workbench生成的schema里面的Level
维度成员可以呈现成树形结构,没有子级成员的成为明细成员(Leaf Member)
数据立方体(Cube)
数据立方体表示由若干维度所描述的一个数据集合,每个维度各自表示一个可对此数据集合进行观察和分析的业务角度
每个立方体的事实表应该具备多个维度对应表的关联数据,是一张整合的复杂数据表
度量(Measure)
在一个数据立方体中,从每个维度上都选取一个确定的维度成员,这些维度成员组合所确定的一个点就是度量值
一般情况下,数据立方体中并不直接存储非明细成员所描述的度量值,而是通过对其后代成员中的全部明细成员进行汇总计算而得出
级别(Level)
级别表示维度成员所描述业务角度的细节程度,也可理解为通过维度成员观察数据的粒度。
即描述该维度的细节属性。
模型说明(原帖):
https://blog.csdn.net/zzq900503/article/details/78490660
https://blog.csdn.net/zzq900503/article/details/78492505
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)