1. 数据立方体与OLAP
1.1 数据仓库和OLAP的基本内容
数据仓库和OLAP工具基于多维数据模型,这种模型将数据看做数据立方体形式。
- 一种多维数据模型
- 多维数据模型的模式
- 维:概念分层的作用
- 度量的分类和计算
- 典型的OLAP操作
2 一种多维数据模型
2.1 数据立方体
- 数据立方体允许以多维对数据建模和观察,它由维和事实定义。
- 维是一个单位想要记录的透视或实体。
- 每个维都可以有一个与之相关联的表,该表称为维表,它进一步描述维。
- 通常,多维数据模型围绕注入销售这样的中心主题组织,主题用事实表表示,事实是数值度量的。
- 存放最低层汇总的方体称作基本方体(base cuboid),0-D方体存放最高层的汇总,称为顶点方体(apex cuboid),顶点方体通常用all标记。
2.2 数据仓库存储数据的方式
- 数据仓库存储采用多维数据模型,数据一般是数值类型。
- 数据立方体是n维的,为了更直观的理解数据立方体和多维数据模型,我们考察3-D数据立方体。
3 多维数据模式
3.1 星形模型
- 星形模型是由“事实表”以及多个“维表”所组成,它是最常见的模型。
- “事实表”中存放大量关于企业的事实数据,包含大批数据的但没有冗余的中心表。
3.2 雪花模型
- 雪花模型对星形模型的维表进一步层次化,原来的各为表为了减少冗余,进一步分解,形成一些局部的“层次”区域。
- 在上面星形模型的数据中,对“产品表”、“日期表”、“地区表”进行扩展形成雪花模型。
3.3 星网(座)模型
- 星网模型是将多个星形模型连接起来的网状结构。多个星型模型通过相同的维。如时间维,连接多个事实表
4 概念分层的作用
4.1 概念分层的定义
- 概念分层定义一个映射序列,将低层概念集映射到较高层、更一般的概念。
- 形成数据库模式中属性的全序或偏序的概念分层称做模式分层。
5 度量和分类计算
- 数据立方体空间的多维点可以用维-值对的集合来定义。
- 数据立方体度量(measure)是一个数值函数,该函数可以对数据立方体空间的每个点求值。
- 度量根据所用的聚集函数可以分为三类:分布的、代数的和整体的。
- 分布式的:如果将数据划分为n个集合,将函数用于每一部分,得到n个聚集值。如果将函数用于n个聚集值得到的结果与将函数用于整个数据集得到的结果一样,这该函数可以用分布方式计算。
- 代数的:一个聚集函数如果能用一个具有M个参数的代数函数计算,而每个参数都可以用一个分布聚集函数求得,则它是代数的。
- 整体的:一个聚集函数如果描述它的子聚集所需的存储没有一个常数界,则它是整体的。也就是不存在一个具有M个参数的代数函数进行这一计算。
6 典型的OLAP操作
- 上卷(roll-up):上卷操作(也称为上钻(drill-up)操作)通过沿一个维的概念分层向上攀升或者通过维归约在数据立方体上进行聚集。
- 下钻(drill-down):下钻是上卷的逆操作,它由不太详细的数据到更详细的数据。下钻可以通过沿维的概念分层向下或引入附加的维来实现。
- 切片和切块:
- 切片(slice)操作在给定的立方体的一个维上进行选择,导致一个子立方体。
- **切块(dice)**操作通过在两个或多个维上进行选择,定义子立方体。
- 转轴(pivot):转轴(又称旋转(rotate))是一种目视操作,它转动数据的视角,提供数据的替代表示。
7 总结
数据立方体与OLAP
- 数据仓库和OLAP工具基于多维数据模型,这种模型将数据看做数据立方体形式。
- 一种多维数据模型:数据立方体
- 多维数据模型的模式:星形模型、雪花模型、星网模型
- 维:概念分层的作用:将低层概念集映射到较高层、更一般的概念。
- 度量的分类和计算:据立方体空间的多维点可以用维-值对的集合来定义
- 典型的OLAP操作:上卷、下钻、切片、切块和转轴
模型、星网模型 - 维:概念分层的作用:将低层概念集映射到较高层、更一般的概念。
- 度量的分类和计算:据立方体空间的多维点可以用维-值对的集合来定义
- 典型的OLAP操作:上卷、下钻、切片、切块和转轴