数据挖掘学习笔记四
OLAP的数据模型:
1.星型结构(star schema)
将事实表和维表进行连接(join),可以得到数据的值以及对数据的多维描述.
2.雪花模型(snowflake schema)
由”星型模型”演变来的, 某些维表是规范化的, 以便减少冗余.
3.星座模型
在星型模型的基础上,具有多个事实表.
4.雪暴模型
在星座模型的基础上,构造维表的多层次结构.
4种模型关系图
OLAP的三层客户/服务器结构
OLAP的分类
基于关系数据库的OLAP(ROLAP)
如何用关系数据库的二维表表达多维概念?
ROLAP将多维数据库中的多维结构划分为两类表:一类是维表,用来记录维度信息。另一类是事实表,用来存储维度交叉点处的度量信息及各个维度的码值。这样多维数据立方体各个坐标轴上的刻度以及立方体各个交点的取值都被记录下来,因而数据立方体的全部信息就被记录了下来。
基于多维数据库的OLAP(MOLAP)
多维数据库(MDDB):从多个角度观察数据,多维数组元素为度量变量的值。
维的分类:维的分类是对维取值的划分。
类与层次的区别:表达的意义不同;在层次和类上进行的分析动作不同.
多维数据库存储
MDDB由许多经压缩的,类似于数组的对象构成,通常带有高度压缩的索引及指针结构.
每个对象由聚集成组的单元块组成,每个单元块都按类似于多维数组的结构存储,并通过计算偏移进行存储.
OLAP实现
数据仓库包含海量数据,要求OLAP服务器在若干秒内回答决策支持问题。
数据立方体的有效计算
多维数据分析的核心是有效地计算各个维集合上的聚集。按SQL术语,这些聚集称为group-by(分组)。每个分组可以用一个方体表示,其中分组的集合形成数据立方体的方体格。
预计算:对于不同的查询分析,OLAP可能需要访问不同的方体。因此,提前计算数据立方体中所有的或者一部分方体,可以带来快速的响应时间,并避免一定的冗余计算。
部分物化:方体的选择计算
数据立方体的物化有三种选择:
(1)不物化:不预计算任何“非基本”方体。
(2)完全物化:预计算所有方体。
(3)完全物化:有选择地计算整个可能的方体集中一个适当的子集。
索引OLAP数据 ,提供有效的OLAP数据访问
位图索引:在给定属性的位图索引中,属性域中的每个值v有一个不同的位向量Bv。如果给定的属性域包含n个值,则位图索引中以n位向量表示每个不同的值。如果数据表给定行上该属性值为v,则在位图索引的对应行,表示该值的位为1.该行的其他位均设为0
连接索引:记录两个关系的可连接行。对于星型模型的数据仓库非常有用。
OLAP的12准则
(1)OLAP模型必须提供多维概念视图
(2)透明性准则
(3)存取能力准则
(4)稳定报表性能
(5)客户/服务器体系结构
(6)维的等同性准则
(7)动态稀疏矩阵处理准则
(8)多用户支持能力准则
(9)非受限的跨维操作
(10)直观的数据处理
(11)灵活的报表生成
(12)非受限的维与维的层次