数据仓库理论学习笔记
• 服务器级OLAP
– Arbor Software Essbase (MOLAP) – MicroStrategy DSS Agent (ROLAP ) – Oracle’s Express (hybrid MOLAP/ROLAP)
• SQL3对聚集的扩展(在Group By中扩展) SP(S#,P#,QTY) Select sum(QTY) as TOTQTY From SP; S# P# QTY S1 P1 300 Select S#,Sum(QTY) as TOTQTY From SP S1 P2 200 Group By S#; S2 P1 300 …... S2 P2 400 S3 P2 200 S4 P2 200
• 数据仓库的基本数据模式
Time dimension
Time time id <pk> date year quarter month week
Sales fact
Product product id make model <pk>
TimeSales
ProdSales
Sales
Attributes of the time dimension
• 数据仓库建立的过程
• 粒度
– 是指数据仓库的数据单位中保存数据的细化或综合 程度的级别 – 粒度级越小,细节程度越高,综合程度越低,回答 查询的种类越多 – 粒度影响数据仓库中数据量的大小 – 粒度问题是设计数据仓库的一个重要方面
• 双重粒度
– 在数据仓库的细节级上创建两种粒度 – 短期储存的低粒度(真实档案),满足细节查询 – 具有综合的高粒度(轻度综合),做分析
• 分割
– 是指把数据分散到各自的物理单元中去,以便能分 别独立处理,提高数据处理效率 – 是粒度之后的第二个主要设计问题 – 两个层次的分割
• 系统层:DBMS,一种定义 • 应用层:开发者,多种定义
– 多种分割的标准
• 日期:最常用的 • 地理位置 • 组织单位…...
• 数据仓库中的数据组织形式
• 四种分析模型(Codd)
– 绝对模型 – 解释模型 – 思考模型 • 动态数据分析 • 多维分析 • 在决策者的参与下,找出关键变量 • 需要高级数据分析人员的介入 – 公式模型
• 四种分析模型(Codd)
– – – – 绝对模型 解释模型 思考模型 公式模型 • 动态性最高的一类 • 自动完成变量的引入工作
– 通用的关系数据库系统 – 专门的数据仓库服务器
• 数据仓库系统的体系结构
– 数据仓库层 – 数据仓库工具层 – 最终用户
• 数据仓库系统
– 数据仓库 • 居系统的核心地位 • 是信息挖掘的基础 – 数据仓库管理系统 • 是整个系统的引擎 • 负责管理整个系统的运转 – 数据仓库工具 • 一般的查询工具、功能强大的分析工具 • 是整个系统发挥作用的关键
• 数据仓库系统的工具层
– 查询工具 • 主要是对分析结果的查询 • 很少有对记录级数据的查询 – 验证型工具 • 多维分析工具 • 用户首先提出假设,然后利用各种工具通过反复、 递归的检索查询以验证或否定假设 – 发掘型工具 • 从大量数据中发现数据模式 • 预测趋势和行为
• 联机分析处理——OLAP
• 数据按一定的格式进行轮转的累加
• 数据仓库中的数据组织形式
– 简单堆积与轮转综合的比较
• 数据仓库中的数据组织形式
– 简化直接
• 按一定的时间间隔,对数据进行提取,是操作型数据的 一个快照
• 数据仓库中的数据组织形式
– 连续
• 把新的快照追加到以前的连续数据上去
• 数据仓库的数据追加
– 数据追加
– 以关系数据库存放细节数据、以多维数据库存 放综合数据
• 基于关系数据库的OLAP——ROLAP
– 以二维表与多维联系来表达多维数据(综合数 据)
• 星型结构 • 事实表,存储事实的量及各维的码值(BCNF)
• 维表,对每一个维,至少有一个表用来保存该维 的元数据(多层次、冗余) • 事实表通过外键与每个维表相联系 • 雪花、星座、雪暴
• 数据仓库系统
一个集成化的产品集
• 数据仓库系统
Design
Warehouse Architect
Visualize
Brio Cognos
Manage
Sybase ASIQ
Administer
Warehouse Control Center
Warehouse Control Centre
• 数据仓库的特点 ——随时间变化
• 数据仓库的结构
OLTP系统
RDBMS Sybase
数据仓库/决策分析系统
高度 汇总数据
SAP/ERP
分析型CRM
业务指标分析
轻度 汇总数据
VSAM
数据集市
数据仓库
EXCEL
当前 详细数据
5-10 年
过去 详细数据
• 数据仓库的结构
– 数据由操作型环境(综合)导入数据仓库 – 数据具有不同的细节级 • 早期细节级(过期数据) • 当前细节级 • 轻度综合数据级(数据集市) • 高度综合数据级
• SQL3对聚集的扩展(在Group By中扩展)
– Grouping Sets:支持多个分组同时运算
Select S#,P#,SUN(QTY) as TOTQTY From SP Group By Grouping Sets ((S#) , (P#)) S# S1 S2 S3 S4 Null Null P# Null Null Null Null P1 P2 TOTQTY 500 700 200 200 600 1000
• • • • 操作型环境——OLTP 全局级——数据仓库 部门级——局部仓库 个人级——个人仓库,用于启发式的分析
– 数据集市(Data Mart)
• 特定的、面向部门的小型数据仓库 • 是为满足用户特定需求而创建的数据仓库 • 是数据仓库的子集
• 数据库的体系化环境
• 数据库的体系化环境
• 数据仓库的开发生命周期
– 旋转是改变一个报告或页面显示的维方向
• 以用户容易理解的角度来观察数据
• 基于多维数据库的OLAP——MOLAP
– 以多维方式组织数据(综合数据) – 以多维方式显示(观察)数据
– 多维数据库的形式类似于交叉表,可直观地表 述一对多、多对多的关系
• 如:产品、地区、销售额 – 关系 – 多维
– 多维数据库由许多经压缩的、类似于数组的对 象构成,带有高度压缩的索引及指针结构
– 简单堆积 – 轮转综合
• 数据按一定的格式进行轮转的累加
– 简化直接
• 按一定的时间间隔,对数据进行提取,是操作型数据的 一个快照
– 连续
• 把新的快照追加到以前的连续数据上去
• 数据仓库中的数据组织形式
– 简单堆积
• 每日由数据库中提取并加工的数据逐天积累堆积
• 数据仓库中的数据组织形式
– 轮转综合
数据仓库技术与联机分析处理 Data Warehouse & OLAP
• 数据库处理的两大应用
– 联机事务处理(OLTP) – 决策支持系统(DSS)
• 数据库处理的两大应用
– 联机事务处理(OLTP)
• 操作型处理,为企业的特定应用服务 • 是对数据库的联机的日常操作,通常是对 一个或一组记录的查询和修改 • 人们关心的是响应时间、数据的安全性和 完整性
–向主题 – 集成的
• 数据仓库的数据是从原有的分散数据库数据中抽 取来的 • 消除数据表述的不一致性(数据的清洗) • 数据的综合
– 数据不可更改 – 随时间变化的
• 数据仓库的特点 —— 集成
• 数据仓库的特点 – 面向主题 – 集成的 – 数据不可更改
• 数据仓库的主要数据操作是查询、分析 • 不进行一般意义上的数据更新(过期数据可能被 删除) • 数据仓库强化查询、淡化并发控制和完整性保护 等技术
– 随时间变化的
• 数据仓库的特点——数据不可更改
• 数据仓库的特点 – 面向主题 – 集成的 – 数据不可更改 – 随时间变化的
• 不断增加新的数据内容 • 不断删除旧的数据内容 • 定时综合 • 数据仓库中数据表的键码都包含时间项,以标明 数据的历史时期
• 四种分析模型(Codd)
– 绝对模型 • 静态数据分析 • 只能对历史数据进行值的比较,描述基本事实 • 用户交互少 – 解释模型 – 思考模型 – 公式模型
• 四种分析模型(Codd)
– 绝对模型 – 解释模型 • 静态数据分析 • 在当前多维视图的基础上找出事件发生的原因 – 思考模型 – 公式模型
– 是针对特定问题的联机访问和分析。 – 通过对信息的很多种可能的观察形式进行快速、稳定 一致和交互性的存取,允许分析人员对数据进行深入 观察
• 一些概念
– – – –
变量是数据的实际意义,描述数据是什么 维是人们观察数据的特定角度 维的层次是维在不同细节程度的描述 维成员是维的一个取值
• 多层次维的维成员是各层次取值的组合 • 对应一个数据项,维成员是该数据项在该维中位置的描述
• SQL3对聚集的扩展(在Group By中扩展)
– Rollup:上卷
Select S#,P#,SUN(QTY) as TOTQTY From SP S# Group By Rollup (S# , P#) S1 等同于 S1 Group By S2 Grouping Sets ((S#, P#) , (S#),( )) S2 S3 S4 S1 S2 S3 S4 Null
– 模拟多维方式显示(观察)数据
• MOLAP与ROLAP