1. 数据仓库的实现
1.1 数据仓库的基本内容
数据仓库包含海量数据。OLAP服务器要在数秒内回答决策支持查询。因此,至关重要的是,数据仓库系统要支持高校的数据立方体技术、存取方法和处理技术。本节,我们主要关注的是数据仓库的有效实现方法。
- 数据立方体的有效计算
- 索引OLAP数据:位图索引和链接索引
- OLAP查询的有效处理
- OPAP的服务器结构
2 数据立方体的有效计算
2.1 compute cube操作与维灾难
多维数据分析的很想是有效地计算许多维集合上的聚集。用SQL的属于,这些聚集称为分组(group-by)。每个分组可以用一个方体表示,而分组的集合形成定义数据立方体的方体的格。
- 数据立方体是方体格:假设相对ALLElectronics的销售创建一个数据立方体、包含city、item、year、sales_in_dollars。
- 按city和item分组计算销售总和
- 按city分组计算销售和。
- 按item分组计算销售和。
2.2 数据立方体可以被看成是方格体
- 最底层的方体是基本方体
- 最上层方体(顶点方体)只包含一个元
- 那麽一个具有L层的n维立方体有多少个方体?
- Li是维i(除去虚拟的顶层all,因为概化到all等价于去掉一个维)的层次数。
2.3 数据立方体的物化
- 方体的物化有三种选择
- 不预先计算任何“非基本”方体(不物化)
- 预先计算所有方体(全物化)
- 在整个可能的方体集中有选择地物化一个适当的子集(部分物化)
特点 - 第一种选择导致在运行时计算昂贵的多维聚集,可能很慢。
- 第二种选择可能需要海量存储空间,存放所有预先计算的方体。
- 第三种选择在存储空间和响应时间二者之间提供了很好的折衷。
立方体在DMQL中的定义和计算
3 索引OLAP数据:位图索引
3.1 位图索引
- 在特定栏上的索引
- 这一栏上的每一个值都对应于一个位向量
- 位向量的长度:基本表中特定栏属性值的个数。
- 如果基本表中的给定行的属性值为v,则在位图索引的对应行,表示该值的位为1,该行的其它位均为0
- 对于基数较大的域不大适合
3.2 连接索引
- 如果两个关系R(RID ,A)和S(B,SID )在属性A和B上连接,则连接索引记录包含JI(RID,SID)对,其中RID和SID分别来自R和S的记录标识符。
- 传统的索引将给定列上的值映射到具有该值的列表上,而连接索引登记来自两个关系数据库的可连接行
- 在数据仓库中,连接索引把星形模式的维值连接到事实表中的行,事实表和它对应维表的连接属性是事实表的外关键字和维表的主关键字
- 连接索引可以跨越多维,形成复合连接索引
4 OLAP的有效处理
4.1 典型的数据仓库设计过程
- 物化方体和构造OLAP索引结构,目的是加快数据立方体中的查询处理。
- 给定物化的视图,查询处理应按如下步骤进行
- 确定哪些操作应当在可利用的方体上执行
- 将查询中的下钻,上卷等转换成对应的SQL 和/或OLAP操作, 例如, 数据立方体上的切片和切块可能对应于物化方体上的选择和/或投影操作
- 确定相关操作应当使用那些物化的方体
- 涉及找出可能用于回答查询的所有物化方体,使用方体之间的“支配”联系知识,剪去上集合,估计使用剩余物化方体的代价,并选择代价最低的方体。
5 OLAP的服务结构
从逻辑上讲,OLAP服务器为商户用户体哦那个仓库火数据集市的多维数据,而不必关心数据如何存放和存放在何处。然后OLAP服务器的物理结构和实现必须考虑数据存放问题。用于OLAP处理的数据仓库服务器的实现包括
- 关系OLAP(ROLAP)服务器
- 多维OLAP(MOLAP)服务器
- 混合OLAP(HOLAP)服务器
- 特殊的SQL服务器
5.1 OLAP的服务结构的比较
- 关系OLAP(ROLAP)服务器:这是一种中间服务器,介于关系的后端服务器和客户前端中间。
- 多维OLAP(MOLAP)服务器:这些服务器通过基于数组的多维存储引擎,支持数据的多维视图。
- 混合OLAP方法结合ROLAP和MOLAP技术,得益于ROLAP较大的可伸缩性和MOLAP的快速计算。
- 特殊的SQL服务器:为了满足关系数据库中日益增长的哦OLAP处理的需要,一些数据库系统提供商实现了特殊的SQ服务器,提供高级查询语言和查询处理,在只读环境下,在星形和雪花形模式上支持SQL查询。
5.2 AP的快速计算
- 特殊的SQL服务器:为了满足关系数据库中日益增长的哦OLAP处理的需要,一些数据库系统提供商实现了特殊的SQ服务器,提供高级查询语言和查询处理,在只读环境下,在星形和雪花形模式上支持SQL查询。