一文了解数据仓库( 七 )


文章插图
OLAP
更多时候数据立方体是N维的 。它的实现有两种方式 。其中星形模式就是其中一种,该模式其实是一种连接关系表与数据立方体的桥梁 。但对于大多数纯OLAP使用者来讲,数据分析的对象就是这个逻辑概念上的数据立方体,其具体实现不用深究 。对于这些OLAP工具的使用者来讲,基本用法是首先配置好维表、事实表,然后在每次查询的时候告诉OLAP需要展示的维度和事实字段和操作类型即可 。
最常见的五大操作:切片,切块,旋转,上卷,下钻
切片和切块(Slice and Dice)在数据立方体的某一维度上选定一个维成员的操作叫切片,而对两个或多个维执行选择则叫做切块 。下图逻辑上展示了切片和切块操作:

一文了解数据仓库

文章插图
切片和切块
旋转(Pivot)旋转就是指改变报表或页面的展示方向 。对于使用者来说,就是个视图操作,而从SQL模拟语句的角度来说,就是改变SELECT后面字段的顺序而已 。下图逻辑上展示了旋转操作:
一文了解数据仓库

文章插图
旋转(Pivot)
上卷和下钻(Rol-up and Drill-down)上卷可以理解为"无视"某些维度;下钻则是指将某些维度进行细分 。下图逻辑上展示了上卷和下钻操作:
一文了解数据仓库

文章插图
上卷和下钻
Cube 和 Cuboid
一文了解数据仓库

文章插图
 
Cube(或 Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引 。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 。
Cuboid 特指在某一种维度组合下所计算的数据 。给定一个数据模型,我们可以对其上的所有维度进行组合 。对于 N 个维度来说,组合的所有可能性共有 2 的 N 次方种 。对于每一种维度的组合,将度量做 聚合运算,然后将运算的结果保存为一个物化视图,称为 Cuboid 。
所有维度组合的 Cuboid 作为一个整体,被称为 Cube 。所以简单来说,一个 Cube 就是许多按维度聚合的物化视图的集合 。下面来列举一个具体的例子:假定有一个电商的销售数据集,其中维度包括 时间(Time)、商品(Item)、地点(Location)和供应商(Supplier),度量为销售额(GMV) 。
那么所有维度的组合就有 2 的 4 次方 =16 种
一维度(1D) 的组合有[Time]、[Item]、[Location]、[Supplier]4 种
二维度(2D)的组合 有[Time,Item]、[Time,Location]、[Time、Supplier]、[Item,Location]、 [Item,Supplier]、[Location,Supplier]6 种
三维度(3D)的组合也有 4 种
零维度(0D)的组合有 1 种
四维度(4D)的组合有 1 种
一文了解数据仓库

文章插图
 

【一文了解数据仓库】


推荐阅读