数据仓库技术与联机分析处理Data Warehouse & OLAP

Download Report

Transcript 数据仓库技术与联机分析处理Data Warehouse & OLAP

数据仓库技术与联机分析处理
Data Warehouse & OLAP
• 数据库处理的两大应用
– 联机事务处理(OLTP)
– 决策支持系统(DSS)
• 数据库处理的两大应用
– 联机事务处理(OLTP)
• 操作型处理,为企业的特定应用服务
• 是对数据库的联机的日常操作,通常是对
一个或一组记录的查询和修改
• 人们关心的是响应时间、数据的安全性和
完整性
– 决策支持系统(DSS)
• 数据库处理的两大应用
– 联机事务处理(OLTP)
– 决策支持系统(DSS)
• 分析型处理,用于管理人员的决策分析
• 经常需要访问大量的历史数据
• 数据仓库 + 联机分析处理 + 数据挖掘
• ( DW + OLAP + DM )→ DSS
• 数据仓库
–是一个面向主题的、集成的、非易失的
(不可修改)且随时间变化的数据集合,
用来支持管理人员的决策
• 数据仓库的特点
–面向主题
• 主题是在较高层次上对数据抽象
• 面向主题的数据组织分为两步骤
–抽取主题
–确定每个主题所包含的数据内容
• 每个主题在数据仓库中都是由一组关系表实现的
–集成的
–数据不可更改
–随时间变化的
• 数据仓库的特点 —— 面向主题
• 数据仓库的特点
– 面向主题
– 集成的
• 数据仓库的数据是从原有的分散数据库数据中抽
取来的
• 消除数据表述的不一致性(数据的清洗)
• 数据的综合
– 数据不可更改
– 随时间变化的
• 数据仓库的特点 —— 集成
• 数据仓库的特点
– 面向主题
– 集成的
– 数据不可更改
• 数据仓库的主要数据操作是查询、分析
• 不进行一般意义上的数据更新(过期数据可能被
删除)
• 数据仓库强化查询、淡化并发控制和完整性保护
等技术
– 随时间变化的
• 数据仓库的特点——数据不可更改
• 数据仓库的特点
– 面向主题
– 集成的
– 数据不可更改
– 随时间变化的
• 不断增加新的数据内容
• 不断删除旧的数据内容
• 定时综合
• 数据仓库中数据表的键码都包含时间项,以标明
数据的历史时期
• 数据仓库的特点 ——随时间变化
• 数据仓库的结构
OLTP系统
数据仓库/决策分析系统
高度
汇总数据
RDBMS
Sybase
SAP/ERP
分析型CRM
业务指标分析
轻度
汇总数据
VSAM
数据集市
数据仓库
EXCEL
当前
详细数据
5-10 年
过去
详细数据
• 数据仓库的结构
– 数据由操作型环境(综合)导入数据仓库
– 数据具有不同的细节级
• 早期细节级(过期数据)
• 当前细节级
• 轻度综合数据级(数据集市)
• 高度综合数据级
• 数据仓库建立的过程
• 粒度
– 是指数据仓库的数据单位中保存数据的细化或综合
程度的级别
– 粒度级越小,细节程度越高,综合程度越低,回答
查询的种类越多
– 粒度影响数据仓库中数据量的大小
– 粒度问题是设计数据仓库的一个重要方面
• 双重粒度
– 在数据仓库的细节级上创建两种粒度
– 短期储存的低粒度(真实档案),满足细节查询
– 具有综合的高粒度(轻度综合),做分析
• 分割
– 是指把数据分散到各自的物理单元中去,以便能分
别独立处理,提高数据处理效率
– 是粒度之后的第二个主要设计问题
– 两个层次的分割
• 系统层:DBMS,一种定义
• 应用层:开发者,多种定义
– 多种分割的标准
• 日期:最常用的
• 地理位置
• 组织单位…...
• 数据仓库中的数据组织形式
– 简单堆积
– 轮转综合
• 数据按一定的格式进行轮转的累加
– 简化直接
• 按一定的时间间隔,对数据进行提取,是操作型数据的
一个快照
– 连续
• 把新的快照追加到以前的连续数据上去
• 数据仓库中的数据组织形式
– 简单堆积
• 每日由数据库中提取并加工的数据逐天积累堆积
• 数据仓库中的数据组织形式
– 轮转综合
• 数据按一定的格式进行轮转的累加
• 数据仓库中的数据组织形式
– 简单堆积与轮转综合的比较
• 数据仓库中的数据组织形式
– 简化直接
• 按一定的时间间隔,对数据进行提取,是操作型数据的
一个快照
• 数据仓库中的数据组织形式
– 连续
• 把新的快照追加到以前的连续数据上去
• 数据仓库的数据追加
– 数据追加
• 数据仓库的数据初装完成以后,再向数据仓库输入数据
的过程称为数据追加
– 变化数据的捕获
•
•
•
•
时标法:加标识
DELTA法:对更新作记录
前后映象法:两次快照的对比
日志法:利用DBMS的日志,需改进
• 数据库的体系化环境
– 是在一个企业或组织内部,由各面向应用的OLTP
数据库及各级面向主题的数据仓库所组成的完整的
数据环境
– 操作型环境、分析型环境
– 四层体系化环境
•
•
•
•
操作型环境——OLTP
全局级——数据仓库
部门级——局部仓库
个人级——个人仓库,用于启发式的分析
– 数据集市(Data Mart)
• 特定的、面向部门的小型数据仓库
• 是为满足用户特定需求而创建的数据仓库
• 是数据仓库的子集
• 数据库的体系化环境
• 数据库的体系化环境
• 数据仓库的开发生命周期
• 数据仓库的基本数据模式
– 星型模式(Star Schema)
• 事实表(fact table),存放基本数据,相关主题的数
据主体(BCNF)
• 维(dimension),影响、分析主体数据的因素
• 量(measure),事实表中的数据属性
• 维表(dimension table),表示维的各种表
• 维是量的取值条件,维用外键表示
• 以事实表为中心,加上若干维表,组成星型数据
模式
• 例:产品-商店-销售额
• 数据仓库的基本数据模式
Time dimension
Time
time id <pk>
date
year
quarter
month
week
Sales fact
ProdSales
TimeSales
<pk>
<pk,fk>
<pk,fk>
<pk,fk>
<pk,fk>
LocationSales
Location
location id <pk>
region
district
store
product id
make
model
Sales
time id
product id
location id
customer id
sales revenue
units sold
Attributes of the
time dimension
Product
CustSales
Sales measures
Customer
customer id
category
group
<pk>
• 数据仓库的基本数据模式
– 雪花模式(Snowflake Schema)
• 维一般是由若干层次组成
• 把维按其层次结构表示成若干个表
• 规范化、节省存储空间
• 但需多做连接操作
• 数据仓库的解决方案
– 通用的关系数据库系统
– 专门的数据仓库服务器
• 数据仓库系统的体系结构
– 数据仓库层
– 数据仓库工具层
– 最终用户
• 数据仓库系统
– 数据仓库
• 居系统的核心地位
• 是信息挖掘的基础
– 数据仓库管理系统
• 是整个系统的引擎
• 负责管理整个系统的运转
– 数据仓库工具
• 一般的查询工具、功能强大的分析工具
• 是整个系统发挥作用的关键
• 数据仓库系统
一个集成化的产品集
• 数据仓库系统
 Design

Warehouse Architect
 Visualize
Brio
 Cognos

 Manage

Sybase ASIQ
 Administer

Warehouse Control Center
 Integrate

Informatica

Enterprise Connect
Replication Server

PowerMart
Warehouse
Control
Centre
• 数据分析模型
– 早期
• 静态数据值的相互比较
– 需求
• 从多个不同的数据源中综合数据
• 从不同的角度观察数据
• 多变的主题、多维数据
• E-R不能完全支持
• 四种分析模型(Codd)
– 绝对模型
• 静态数据分析
• 只能对历史数据进行值的比较,描述基本事实
• 用户交互少
– 解释模型
– 思考模型
– 公式模型
• 四种分析模型(Codd)
– 绝对模型
– 解释模型
• 静态数据分析
• 在当前多维视图的基础上找出事件发生的原因
– 思考模型
– 公式模型
• 四种分析模型(Codd)
– 绝对模型
– 解释模型
– 思考模型
• 动态数据分析
• 多维分析
• 在决策者的参与下,找出关键变量
• 需要高级数据分析人员的介入
– 公式模型
• 四种分析模型(Codd)
–
–
–
–
绝对模型
解释模型
思考模型
公式模型
• 动态性最高的一类
• 自动完成变量的引入工作
• 数据仓库系统的工具层
– 查询工具
• 主要是对分析结果的查询
• 很少有对记录级数据的查询
– 验证型工具
• 多维分析工具
• 用户首先提出假设,然后利用各种工具通过反复、
递归的检索查询以验证或否定假设
– 发掘型工具
• 从大量数据中发现数据模式
• 预测趋势和行为
• 联机分析处理——OLAP
– 是针对特定问题的联机访问和分析。
– 通过对信息的很多种可能的观察形式进行快速、稳定
一致和交互性的存取,允许分析人员对数据进行深入
观察
• 一些概念
–
–
–
–
变量是数据的实际意义,描述数据是什么
维是人们观察数据的特定角度
维的层次是维在不同细节程度的描述
维成员是维的一个取值
• 多层次维的维成员是各层次取值的组合
• 对应一个数据项,维成员是该数据项在该维中位置的描述
– 多维数组可以表示为(维1,维2,……,变量),如(地
区,时间,销售渠道,销售额)
– 多维数组的取值称为数据单元(单元格)
• 可以理解为交叉表的数据格
• 一些基本操作
– 在多维数组的某一维选定一个维成员的动作称
为切片。
• 舍弃一些观察角度
– 在多维数组的某一维上选定某一区间的维成员
切块
• 多个切片的叠加
– 旋转是改变一个报告或页面显示的维方向
• 以用户容易理解的角度来观察数据
• 基于多维数据库的OLAP——MOLAP
– 以多维方式组织数据(综合数据)
– 以多维方式显示(观察)数据
– 多维数据库的形式类似于交叉表,可直观地表
述一对多、多对多的关系
• 如:产品、地区、销售额
– 关系
– 多维
– 多维数据库由许多经压缩的、类似于数组的对
象构成,带有高度压缩的索引及指针结构
– 以关系数据库存放细节数据、以多维数据库存
放综合数据
• 基于关系数据库的OLAP——ROLAP
– 以二维表与多维联系来表达多维数据(综合数
据)
• 星型结构
• 事实表,存储事实的量及各维的码值(BCNF)
• 维表,对每一个维,至少有一个表用来保存该维
的元数据(多层次、冗余)
• 事实表通过外键与每个维表相联系
• 雪花、星座、雪暴
– 模拟多维方式显示(观察)数据
• MOLAP与ROLAP
– MOLAP
• 计算速度较快
• 支持的数据容量较小
• 缺乏细节数据的OLAP
– ROLAP
• 结构较复杂
• 以关系模拟多维
• 支持适当细节的OLAP
• 较成熟
– HOLAP是以上两种的综合
• 桌面级工具
–
–
–
–
BrioQuery (ROLAP)
Business Objects (ROLAP)
Cognos Impromptu (ROLAP)
Cognos PowerPlay (MOLAP)
• 服务器级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
• 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
• 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
P#
P1
P2
P1
P2
P2
P2
Null
Null
Null
Null
Null
TOTQTY
300
200
300
400
200
200
500
700
200
200
1600
• SQL3对聚集的扩展(在Group By中扩展)
– Cube:立方体(交叉表)
Select S#,P#,
SUN(QTY) as TOTQTY
From SP
Group By Cube (S# , P#)
等同于
Group By
Grouping Sets ((S#, P#) , (S#) , (P#) , ( ))
S#
S1
S1
S2
S2
S3
S4
S1
S2
S3
S4
Null
Null
Null
P#
P1
P2
P1
P2
P2
P2
Null
Null
Null
Null
P1
P2
Null
TOTQTY
300
200
300
400
200
200
500
700
200
200
600
1000
1600
• 数据挖掘(Data Mining)
–
–
–
–
探测型的数据分析
发现信息、发现知识
基于人工智能、机器学习、统计学
由计算机自动智能地分析数据,获取信息,
作出预测或帮助决策
– 需要算法的支持和机器的环境
• 数据挖掘的常用方法
– 决策树方法
• 利用信息论中的互信息,寻找数据库中具
有最大信息量的属性字段,建立决策树的
节点,再根据该属性字段的不同取值建立
树的分支
• 在每个分支子集中重复建立下层节点和分
支
• 数据挖掘分析方法
– 关联分析
• 为了挖掘出隐藏在数据间的相互关系
• 支持度/置信度作为输入的条件,进行筛选、分析
– 序列模式分析
• 类似与关联分析
• 着重于分析数据的前因后果
– 分类分析
• 对于不同分类的数据进行分析,找出他们的规律、
特征
– 聚类分析
• 是分类的逆过程
• 根据数据特征,进行分类
• 数据挖掘的步骤
– 数据准备
• 数据集成
• 数据选择和预分析
– 挖掘
• 利用前述的方法对数据进行分析
– 表述
• 利用可视化工具,将结果展现给分析员
– 评价
• 评估结果,递归上述过程
• 数据挖掘与OLAP
– 都属于分析型工具
• DM是挖掘型工具
• DM试图自动地发现隐藏在数据中的模式或
规律
• OLAP是验证型工具
• OLAP更多地依赖于用户的输入和假设
– 两者相辅相成,互补
• 以DM挖掘潜在的模式、预测未来趋势
• 以OLAP来验证DM的结果