第 13章 数据仓库技术
? 数据仓库是数据库技术的另一重要发展方向。
? 人们希望能更多地通过数据库系统获得决策支持
信息的推动下发展起来的一项新数据库技术。
? 本章主要介绍 操作性处理与分析型处理的区别,
联机事务处理( OLTP)和联机分析处理( OLAP)
的不同,数据仓库技术的基本概念、组成结构、
技术特征、设计,数据挖掘和决策支持系统
( DSS),以及 SQL Server的 DBMS对数据仓库
的支持。
第 13章 数据仓库技术
? 13.1 从数据库到数据仓库
? 13.2 数据仓库的结构
? 13.3 数据仓库的设计
? 13.4 OLAP与数据仓库
? 13.5 数据挖掘( data mining,DM)
? 13.6 决策支持系统与数据仓库
? 13.7 SQL Server 2000的数据仓库
? 13.8 小结
? 13.9 习题
13.1 从数据库到数据仓库
? 13.1.1 操作型处理和分析型处理
? 13.1.2 从数据库到数据仓库
? 13.1.3 操作型数据和分析型数据
13.1.1 操作型处理和分析型处理
操作型处理 分析型处理
性能特性不同 存取操作频率高, 每次操作
时间短, 要求较短响应时间,
可按分时方式 。
有时需要连续运行几个小时,
从而消耗大量的系统资源 。
集成性问题 一般只需与本部门有关的当
前数据, 集成性要求较少 。
迫切需要集成数据, 企业内部,
外部和竞争对手等信息 。
数据动态集成
性问题
不要动态集成 。 需一定周期进行动态集成 。
历史数据问题 一般只需当前数据, 数据库
中只保存短期数据 。
需要分析大量历史数据 。
综合数据问题 积累了大量的细节性数据,
但很少对数据进行综合 。
不分析细节性数据, 而要进行
不同程度综合, 分析综合信息 。
用户数量 多 相对较少
13.1.2 从数据库到数据仓库
? 产生的根本原因是对决策信息的迫切需求。
? 20世纪 90年代以来,在操作型数据环境中建立
DSS效果不理想。
? 对传统数据库反思。???
? 在规划设计的基础上,对数据库中的数据按照不
同的主题归纳、统计、汇总、集成,使其长期保
存在计算机中,并随着时间推移不断追加,这样
形成的数据集合便是我们所说的数据仓库。
13.1.3 操作型数据和分析型数据
原始数据 /操作型数据 导出数据 /分析型数据
细节的 综合的或提炼的
在存取瞬间是准确的 代表过去的历史数据
可更新 很少更新
操作需求事先可知道 操作需要事先不知道
生命周期符合 SDLC 完全不同的生命周期
对性能要求高 对性能要求宽松
事务驱动 分析驱动
面向业务应用 面向分析
一次操作小量数据 一次操作大量数据
支持日常操作 支持管理决策需求
13.2 数据仓库的结构
? 数据仓库是一个不同于传统数据库的数据集合,
它是对传统数据库进行抽取、归纳、统计、汇
总集成而成。
? 13.2.1 数据仓库的概念及特点
? 13.2.2 数据仓库的组成结构
? 13.2.3 数据仓库的数据组织
? 13.2.4 数据仓库需要的数据库技术
13.2.1 数据仓库的概念及特点
? 数据仓库是一种高级、复杂的数据库技术。完
整的数据仓库理论包括三个方面:数据仓库技
术、联机分析处理( OLAP)、数据挖掘( DM)。
? 数据仓库是一个面向主题的、集成的、稳定的、
随时间而变的数据集合,用以支持经营管理过
程中的决策制订过程。
? 数据仓库四特征:面向主题、集成、稳定和随
时间变化。
13.2.2 数据仓库的组成结构
? 从构成元素上看,数据仓库由物理元素和功能
元素的组成,包括数据源、关系数据库、数据
集市、维度、级别、度量值、单元、多维数据
集、分区和聚合等。
? 数据仓库系统总体组成结构一般包含 7个部分:
数据源部分、数据抽取转换和装载工具、数据
建模工具、数据仓储、数据仓库的目标数据、
数据仓库管理工具、前端数据访问分析工具。
13.2.2数据仓库的总体组成结构图
关系数据库
数据文件
其他
数据仓库
管理工具
元数据仓库
数据建摸
工具
OLAP
工具
C/S
工具
用户查询
工具
抽取、转换
、装载
管理工具
历史数据
当前数据
综合数据
DM工具
数据源 数据抽取和转换 数据仓库目标数据库 数据访问分析工具
关系性 DBMS
专用多维 DBMS
13.2.2数据仓库基本功能 5部分图
数据定义
数据
提取
数据管理 信息目录
技术目录
专业目录
信息导航
器
数据
应用D B D W
源数据库集合 数据仓库 最终用户
13.2.2数据仓库基本功能 5部分 1
? ( 1) 数据定义,主要完成仓库结构和环境定义, 包括,
定义数据仓库中数据库模式, 数据源和从数据源提取
数据时的一组规则或模型 。
? ( 2) 数据提取,负责从数据源提取数据, 并对获得的
源数据进行必要的加工处理, 使其成为数据仓库可以
管理的数据格式和语义规范 。
? ( 3) 数据管理,由一组系统服务工具组成, 负责数据
的分配和维护, 支持数据应用 。 数据分配完成获取数
据的存储分布以及将其分发到多台数据库服务器 。 数
据维护服务完成数据的转储和恢复, 安全性定义和检
测等 。 用户直接输入系统的数据也由该部分完成 。
13.2.2数据仓库基本功能 5部分 2
? ( 4) 信息目录:信息目录描述系统数据的定义和组织,
通过它用户或开发人员可以了解数据仓库中存放的数据,
以及如何访问, 使用和管理 。 按数据仓库数据管理与应用
要求, 其信息目录可以设计为多个子部分,技术目录, 业
务目录和信息导航目录 。
? ( 5)数据应用:除了一般的直接检索性使用外,还能完
成常用的数据表示和分析,如图表表示、统计分析、结构
分析、相关分析和时间序列分析等。对于涉及到众多数据
的综合性较强的分析,可以借助专业数据分析工具。在客
户机 /服务器体系结构下,这部分功能可以放在客户端来
完成,以便充分利用目前微机上丰富的数据分析软件。
13.2.3 数据仓库的数据组织
? 数据仓库的数据来源于 RDB,需要进行转化。
? 数据仓库的数据长期保存。
? 数据组织需要考虑以下方面:粒度、分割以及
数据的模型结构。
13.2.3 数据仓库的数据组织
? 图 13_3 一个典型的数据仓库的数据组织结构
销售细节级
1985-2003
销售细节级
2003-2004
子生产线
每周销售
1985-2004
生产线每月销售
1982-2004
元
数
据
早期细节级
当前细节级
轻度综合数
据级 ( 数据
集市 )
高度综合数
据级
操作型数据
13.2.3 数据仓库数据组织,粒度
? 粒度是指数据仓库的数据单位中保存数据的细化
或综合程度的级别。细化程度越高,粒度级越小;
相反,细化程度越低,粒度级越大。
? 粒度影响存放在数据仓库中数据量的大小,同时
影响数据仓库所能回答的查询类型。
? 小粒度级或高细节级,可回答任何问题,但数据
量大。大粒度级或低细节级,数据量少。在设计
数据仓库时,需要在数据量大小与查询的详细程
度之间要作出权衡,对粒度级进行权衡,最佳解
决之法使双重粒度。
13.2.3 数据仓库数据组织,分割
? 数据分割是指把数据分散到各自的物理单元中
去, 它们能独立地处理 。
? 在数据仓库中, 围绕分割问题的焦点不是该不
该分割而是如何去分割的问题 。
? 分割总体目的是把数据划分成小的物理单元 。
? 数据分割包括,时间, 商业线, 地理位置, 组织
单位, 所有上述标准 。
13.2.3 数据仓库数据组织:星型模型
? 数据仓库一般采
用星型模型和雪
片模型来描述系
统结构。
? 通过, 维表一事
实表, 构造关系
型数据仓库。
事实表:
订单号
销售员号
客户号
产品号
日期
地区名称
数量
总价
产品表:
产品号
产品名称
规格
产品类别
单价
日期表:
日期
日
周
月
季
年
地区表:
地区名称
省别
销售员表:
销售员号
销售员名
城市
客户表:
客户号
客户名称
客户地址
订货表:
订单号
订货日期
13.2.3 数据仓库数据组织,雪花 模型
事实表:
订单号
销售员号
客户号
产品号
日期
地区名称
数量
总价
产品表:
产品号
产品名称
规格
产品类别
单价
日期表:
日期
日
月地区表:
地区名称
省别
销售员表:
销售员号
销售员姓名
城市
客户表:
客户号
客户名称
客户地址
订货表:
订单号
订货日期
产品类别
:
产品类别
类别描述
月表:
月
年
省表:
省别
13.2.4 数据仓库需要的 DB技术
? 1.高性能数据库服务器
? 分析型应用涉及的数据量大, 查询要求复杂, 为了能较快
地获得分析结果, 因此, 需要高性能的 DBMS核心的支持,
要求 DBMS必须具有良好的查询优化机制 。
? 2.并行数据库技术
? 数据仓库 可谓是超大规模数据库 ( VLDB), 通常是 GB甚至
TB级的, 而且随着时间延长, 新数据还会不断进入 。 并行
数据库技术是存储和管理 VLDB,并提供对 VLDB复杂查询处
理的有效技术 。
? 3.数据库互操作技术
13.3 数据仓库的设计
? 数据仓库设计与传统的数据库设计有很大不同。
数据仓库主要为数据分析服务,因此有时为了
获得更好的分析效果,往往需要增加数据冗余,
重复地保存一些经过计算就可得到的数据项。
? 13.3.1 数据仓库开发的生命周期
? 13.3.2 数据仓库设计步骤
13.3.1 数据仓库开发的生命周期
? 不同与数据库开发的生命周期。
? 数据仓库开发的生命周期受数据驱动,在开发
数据仓库之前,用户需求不可预知,用户并不
完全知道他们能从数据仓库中得到什么。
? 因此,开发过程是先实现数据仓库的一部分,
然后经集成数据、检验偏差、针对数据编程、
设计 DSS系统、分析结果、理解需求而成。
13.3.2 数据仓库设计步骤
? 建立数据仓库包括 5个方面工作:规划、任务和环境的
评估、需求的搜集和分析、构造数据仓库、数据仓库技
术的培训、数据仓库工程回顾。
? 规划完成后,建立数据仓库首先应为数据仓库选择不同
的主题。
? 典型主题包括:顾客、产品、事务或活动、保险单、索
赔、帐目等。
? 建立数据仓库可从第一个主题开始,先围绕第一个主题
组织数据,实施应用,然后再逐步深入,反复开发。
? 第 1天到第 n天现象描述建立 DW的具体过程。
13.4 OLAP与数据仓库
? 数据仓库中的数据分析工具主要包括:联机分
析处理( On-Line Analytical Processing,OLAP)
工具和数据挖掘( data mining,DM)工具。
? 13.4.1 OLTP 系统
? 13.4.2 OLAP 系统
? 13.4.3 多维数据视图和多维数据库
? 13.4.4 将 OLTP 数据转换到 OLAP 数据仓库
? 13.4.5 数据转换和数据仓库组件
13.4.1 OLTP 系统
? OLTP系统基于计算机并记录企业的业务事务。
? OLTP个别事务处理能够很快地完成,并且只
需访问相对较少的数据。 OLTP 系统旨在处理
同时输入的成百上千的事务。
? C/S,B/S
13.4.2 OLAP系统
? 联机分析处理 ( OLAP) 系统是一种旨在处理发现趋
势和关键因素所需的查询的系统。 E.F.Codd于 1992年
最早提出了 OLAP概念
? OLAP可简明地理解为共享多维信息的快速分析。特点:
快速性、可分析性、共享性、多维性和信息性。
? OLAP工具分三类:
? 一类是基于多维数据库的( MOLAP)
? 另一类是基于关系数据库的( ROLAP)
? 第三类是将 MOLAP和 ROLAP结合起来,称为混合的
OLAP( hybrid OLAP,HOLAP)。
13.4.3 多维数据视图和多维数据库
? OLAP一般利用多维数据视图和多维数据库,以多维的
形式组织数据,使分析方法和数据结构相分离,分析方
法更加灵活。
? 多维数据库是以多维方式来组织数据,立方体、维、层
次和量度是 OLAP多维导航的实质。
? 维是人们观察现实世界的角度,决策分析需要从不同的
角度观察分析数据。
? 度量值是多维数据集的基本单元,也是所分析数据的组
成单元。
? 每个维度被划分为称为成员的单元。维度的成员通常被
组织到层次结构中。
13.4.4 将 OLTP 数据转换到
OLAP 数据仓库
? 经过三个阶段:
? ( 1) 将数据从 OLTP 或遗留数据源析取到中间存储区域
中 。
? ( 2) 将数据转换为更适合在 OLAP 系统中使用的格式,
进行数据清理和聚合等操作 。
? ( 3) 将数据装载到数据仓库或数据集市中 。
? 从 OLTP 和遗留数据源中析取数据并将其转换到仓库服务
器中的过程称为 ETL 过程, 通常定期运行, 如每周一次或
每月一次 。 主要工作包括,1,合并数据 2,清理数据
3,聚合数据 4,将数据组织到多维数据集中 。
13.4.5 数据转换和数据仓库组件
13.5 数据挖掘( data mining,DM)
?,数据爆炸,但知识缺乏”。
? 如何才能从数据中发现知识和规律呢?
? 数据挖掘与知识发现( Knowledged Discovery in Database,
KDD)。
? 数据挖掘是一种决策支持过程,它从大量的数据中提取
隐含的、潜在的、以前未知的有用信息或模式,主要基
于人工智能、机器学习、统计学和数据库等技术,注重
自动发现隐藏在数据中的模式和有用的信息。
? 数据挖掘可直接使用操作数据源, 数据仓库并不是数据
挖掘的先决条件,但 数据仓库的发展有效促进了数据挖
掘的研究 。
13.5 数据挖掘
? 数据挖掘与 OLAP不同 。 OLAP侧重于与用户的交互、快速的响应速度
及提供数据的多维视图。
? 数据挖掘和知识发现技术最早源于人工智能的学习,涉及
数据库技术、人工智能技术、机器学习与模式识别、数据
仓库和 OLAP、统计分析等技术。
? 20世纪 80年代末开始逐渐发展起来,进入 20世纪 90年代后,
数据挖掘和知识发现技术的研究广泛开展。
? 数据挖掘表明,知识就隐藏在日常积累下来的大量数据之
中,而仅靠复杂的算法和推理并不能发现知识,数据才是
知识的真正源泉。数据挖掘为 A I技术指出了一条新的发
展道路。
13.5.1 数据挖掘的任务
? 任务:从数据中发现模式
? 两种形式:验证驱动数据挖掘和发现驱动数据挖掘。
? 验证驱动的数据挖掘一般是针对某一特定的问题,通过
数据库中的一些属性来预测另一个属性,需要用到的技
术有查询和报告以及统计分析等。统计分析常用工具有:
SAS,SPSS,S+,TSP等。
? 发现驱动的数据挖掘用于发现预先并不知道的知识,其
关键技术是模式识别和关系识别的算法,主要包括关联
规则发现、数据分类、聚类分析、数据泛化和归纳、神
经网络和偏差分析等。发现驱动的数据挖掘所发现的知
识可分为 5类:广义知识、关联知识、分类知识、预测
性知识和偏差性知识。
13.5.2 数据挖掘过程
? 一般过程分为四阶段:确定
目标、数据准备、数据挖掘、
以及表达、评价和巩固挖掘
结果。
目标数据
预处理
后的数
据
变换后
的数据
模型 /模
式
DB
DW
-----
-----
……
.
选择采样
模型解
释评价
数据预处理和清洗
数据变换和压
缩
数据挖掘 知识
13.5.3 数据挖掘的方法
? 一般 60%时间用在数据准备上,而挖掘工作仅
占总工作量的 10%。
? 一整套好的数据挖掘方法包括以下几点:
? ( 1) sample:数据取样。
? ( 2) Explore:数据特征探索、分析和预处理。
? ( 3) Modify:问题明确化、数据调整和技术
选择。
? ( 4) Model:模型研究及知识发现。
? ( 5) Assess:模型和知识的综合解释与评价。
13.6 决策支持系统与数据仓库
? 决策支持系统是一种能为中高层决策者提供重
要决策支持信息的数据库系统,比 MIS更高级。
? 数据仓库主要价值是为了有效地构建 DSS,支
持管理决策。
? 高级管理人员信息系统( EIS)用途包括:趋
势分析和发现;关键比例指标度量和跟踪;向
下探察分析;问题监控;竞争分析,数据仓库
可为之提供有效支持。
13.6.1 传统 DSS的开发
? 20世纪 80年代初,国内外曾在 DSS的研究过程中提出
了数据库、模型库和方法库的概念和方法。
? 传统 DSS失败原因,
? 第一,缺乏丰富的数据资源。
? 第二,网络技术不发达,数据共享不充分。
? 第三,缺乏有效的数据分析工具 。
? 第四,数据库、方法库和知识库未能有机地结合起来。
13.6.2 基于 DW的 DSS解决方案
? 有效的 DSS解决方案,DW+OLAP+DM。特点:
? ( 1)底层 DB的大量事务级细节数据是整个 DSS的数据源。
? ( 2)数据仓库是对底层的细节数据进行集成、转换、综
合,重新组织成面向全局的数据视图,为 DSS提供数据存
储和组织的基础。
? ( 3)联机分析处理从数据仓库中集成的数据出发,构建
面向分析的多维数据模型,再使用多维分析方法从多个不
同的视角对多维数据进行分析比较,分析方法与数据结构
分开,更加灵活。
? ( 4)数据挖掘以数据仓库和多维数据库中大量的数据为
基础,自动发现数据中潜在的模式,并以此做出预测,对
实现 DSS的目标具有重大价值。
13.7 SQL Server 2000数据仓库
? 提供了强大工具和功能支持完成创建、使用和
维护数据仓库的任务,Analysis Services包含
了 OLAP和数据挖掘。
? 将数据仓库分为两种基本类型:企业数据仓库
和数据集市。
? 13.7.1 Microsoft数据仓库框架
? 13.7.2 Analysis Services组件
? 13.7.3 SQL Server2000数据仓库组件
13.7.1 Microsoft数据仓库框架
Data warehouse Management
Repository(Persistent Shared Meta-Data)
InfoPublishReplScheduleTransformSchema OLAP
Operational
Sources
Data
Transform
cleaning
Data Marks or
Data
warehouse
Infor_
mation
Dir
End
User
Tools
Data warehouse/Data Mark Design
M
A
N
A
G
I
N
G
Building Using
13.7.1 Microsoft数据仓库框架
? 该框架提供,
? ( 1) 易于与第三方供货商集成和易于由第三方供货商
扩展的开放式体系结构 。
? ( 2) 异类数据导入, 导出, 确认和带可选数据类型的
清理服务 。
? ( 3) 集成的元数据用于数据仓库的设计, 数据析取 /
转换, 服务器管理和最终用户分析工具 。
? ( 4) 用于日程安排, 存储管理, 性能监测, 报警 /事
件和通知的核心管理服务 。
13.7.2 Analysis Services组件
? Analysis Services组件集成了 DW和 DM的解决方案。
? Analysis Services 是一套易于使用的综合的可伸缩组件,
用于 OLAP和数据挖掘的中层服务器,使用它可以构造多
维数据集并向应用程序提供对多维数据集的访问。多维数
据集作为单独的高性能多维数据结构( MOLAP)或作为
两者的混合组合( HOLAP),可以存储在关系数据库
( ROLAP)中。
? Analysis Services 通过 OLE DB提供程序将多维数据集中
的数据表现给应用程序。 Analysis Services 提供程序支持
OLE DB的多维扩展和 ActiveX多维数据对象( ADO MD)
的 API。
13.7.3 SQL Server2000数据仓库
组件
13.8 小结一
? 数据库分析型处理不同于操作型处理, 分析型数据不同于
操作型数据 。
? 在操作型处理的数据环境很难构造有效的分析型应用, 因
此需要建立 DW来专门保存分析型数据 。
? DW是一个面向主题的, 集成的, 稳定的, 随时间而变的数
据集合, 用以支持经营管理过程中的决策制订过程 。 有四
个方面的特征:面向主题, 集成, 稳定和随时间变化 。
? DW总体组成结构包含 7部分:数据源, 数据抽取转换和装
载工具, 数据建模工具, 数据仓储, DW的目标数据, DW
管理工具, 前端数据访问分析工具,
? DW设计与传统 DB设计不同 。 DW开发的生命周期受数据驱
动, 在开发 DW之前, 用户需求不可预知 。 将传统 DB中的
数据组织到 DW要考虑:粒度, 分割以及数据模型结构 。
13.8 小结二
? OLAP系统是一种旨在处理发现趋势和关键因素所需的查询
的系统。 OLAP一般利用多维数据视图和多维数据库,以多
维的形式组织数据。将 OLTP数据转换到 OLAP数据仓库要
经过复杂的过程。
? DW是从大型数据库或数据仓库中发现并提取隐藏信息的
一种新技术。数据挖掘是反复的过程。数据仓库促进了数
据挖掘的发展。
? DSS是旨在为决策提供有效信息的高级系统。传统 DSS并
不很成功。现在有效的 DSS解决方案,DW+OLAP+DM。
? SQL Server 2000提供了 DW框架,通过 Analysis Services组
件包含了 DW,OLAP、数据挖掘、数据转换服务,English
Query方面的功能。
13.8 习题一
? 13.1解析下列名词:数据仓库, 粒度, 数据分割, 星形
模型, 雪片模型, 维, 度量, 多维数据库, 事实表, 维
表, OLTP,OLAP,DSS,DM。
? 13.2 操作型处理与分析型处理有何不同? 操作型数据与
分析型数据有何不同?
? 13.3 数据仓库有何特点?
? 13.4 数据仓库设计与数据库设计有何不同? 数据仓库设
计要考虑哪些因素? 如何进行数据仓库设计? 简述数据
仓库设计的步骤 。
? 13.5 数据仓库需要哪些技术的支持?
13.8 习题二
? 13.6 以销售主题为例设计一个数据仓库。
? 13.7 OLAP与 OLTP有何不同?如何将 OLTP数据转换为
OLAP数据?
? 13.8 数据挖掘有何作用?与 OLAP,DSS有何区别?
? 13.9 简述数据挖掘的一般过程?有何作用?与 OLAP有
何区别?
? 13.10 传统 DSS存在什么问题? DW与 DSS有何联系?
? 13.11简述 SQL Server 2000在数据仓库、数据挖掘和
OLAP方面的支持。
? 数据仓库是数据库技术的另一重要发展方向。
? 人们希望能更多地通过数据库系统获得决策支持
信息的推动下发展起来的一项新数据库技术。
? 本章主要介绍 操作性处理与分析型处理的区别,
联机事务处理( OLTP)和联机分析处理( OLAP)
的不同,数据仓库技术的基本概念、组成结构、
技术特征、设计,数据挖掘和决策支持系统
( DSS),以及 SQL Server的 DBMS对数据仓库
的支持。
第 13章 数据仓库技术
? 13.1 从数据库到数据仓库
? 13.2 数据仓库的结构
? 13.3 数据仓库的设计
? 13.4 OLAP与数据仓库
? 13.5 数据挖掘( data mining,DM)
? 13.6 决策支持系统与数据仓库
? 13.7 SQL Server 2000的数据仓库
? 13.8 小结
? 13.9 习题
13.1 从数据库到数据仓库
? 13.1.1 操作型处理和分析型处理
? 13.1.2 从数据库到数据仓库
? 13.1.3 操作型数据和分析型数据
13.1.1 操作型处理和分析型处理
操作型处理 分析型处理
性能特性不同 存取操作频率高, 每次操作
时间短, 要求较短响应时间,
可按分时方式 。
有时需要连续运行几个小时,
从而消耗大量的系统资源 。
集成性问题 一般只需与本部门有关的当
前数据, 集成性要求较少 。
迫切需要集成数据, 企业内部,
外部和竞争对手等信息 。
数据动态集成
性问题
不要动态集成 。 需一定周期进行动态集成 。
历史数据问题 一般只需当前数据, 数据库
中只保存短期数据 。
需要分析大量历史数据 。
综合数据问题 积累了大量的细节性数据,
但很少对数据进行综合 。
不分析细节性数据, 而要进行
不同程度综合, 分析综合信息 。
用户数量 多 相对较少
13.1.2 从数据库到数据仓库
? 产生的根本原因是对决策信息的迫切需求。
? 20世纪 90年代以来,在操作型数据环境中建立
DSS效果不理想。
? 对传统数据库反思。???
? 在规划设计的基础上,对数据库中的数据按照不
同的主题归纳、统计、汇总、集成,使其长期保
存在计算机中,并随着时间推移不断追加,这样
形成的数据集合便是我们所说的数据仓库。
13.1.3 操作型数据和分析型数据
原始数据 /操作型数据 导出数据 /分析型数据
细节的 综合的或提炼的
在存取瞬间是准确的 代表过去的历史数据
可更新 很少更新
操作需求事先可知道 操作需要事先不知道
生命周期符合 SDLC 完全不同的生命周期
对性能要求高 对性能要求宽松
事务驱动 分析驱动
面向业务应用 面向分析
一次操作小量数据 一次操作大量数据
支持日常操作 支持管理决策需求
13.2 数据仓库的结构
? 数据仓库是一个不同于传统数据库的数据集合,
它是对传统数据库进行抽取、归纳、统计、汇
总集成而成。
? 13.2.1 数据仓库的概念及特点
? 13.2.2 数据仓库的组成结构
? 13.2.3 数据仓库的数据组织
? 13.2.4 数据仓库需要的数据库技术
13.2.1 数据仓库的概念及特点
? 数据仓库是一种高级、复杂的数据库技术。完
整的数据仓库理论包括三个方面:数据仓库技
术、联机分析处理( OLAP)、数据挖掘( DM)。
? 数据仓库是一个面向主题的、集成的、稳定的、
随时间而变的数据集合,用以支持经营管理过
程中的决策制订过程。
? 数据仓库四特征:面向主题、集成、稳定和随
时间变化。
13.2.2 数据仓库的组成结构
? 从构成元素上看,数据仓库由物理元素和功能
元素的组成,包括数据源、关系数据库、数据
集市、维度、级别、度量值、单元、多维数据
集、分区和聚合等。
? 数据仓库系统总体组成结构一般包含 7个部分:
数据源部分、数据抽取转换和装载工具、数据
建模工具、数据仓储、数据仓库的目标数据、
数据仓库管理工具、前端数据访问分析工具。
13.2.2数据仓库的总体组成结构图
关系数据库
数据文件
其他
数据仓库
管理工具
元数据仓库
数据建摸
工具
OLAP
工具
C/S
工具
用户查询
工具
抽取、转换
、装载
管理工具
历史数据
当前数据
综合数据
DM工具
数据源 数据抽取和转换 数据仓库目标数据库 数据访问分析工具
关系性 DBMS
专用多维 DBMS
13.2.2数据仓库基本功能 5部分图
数据定义
数据
提取
数据管理 信息目录
技术目录
专业目录
信息导航
器
数据
应用D B D W
源数据库集合 数据仓库 最终用户
13.2.2数据仓库基本功能 5部分 1
? ( 1) 数据定义,主要完成仓库结构和环境定义, 包括,
定义数据仓库中数据库模式, 数据源和从数据源提取
数据时的一组规则或模型 。
? ( 2) 数据提取,负责从数据源提取数据, 并对获得的
源数据进行必要的加工处理, 使其成为数据仓库可以
管理的数据格式和语义规范 。
? ( 3) 数据管理,由一组系统服务工具组成, 负责数据
的分配和维护, 支持数据应用 。 数据分配完成获取数
据的存储分布以及将其分发到多台数据库服务器 。 数
据维护服务完成数据的转储和恢复, 安全性定义和检
测等 。 用户直接输入系统的数据也由该部分完成 。
13.2.2数据仓库基本功能 5部分 2
? ( 4) 信息目录:信息目录描述系统数据的定义和组织,
通过它用户或开发人员可以了解数据仓库中存放的数据,
以及如何访问, 使用和管理 。 按数据仓库数据管理与应用
要求, 其信息目录可以设计为多个子部分,技术目录, 业
务目录和信息导航目录 。
? ( 5)数据应用:除了一般的直接检索性使用外,还能完
成常用的数据表示和分析,如图表表示、统计分析、结构
分析、相关分析和时间序列分析等。对于涉及到众多数据
的综合性较强的分析,可以借助专业数据分析工具。在客
户机 /服务器体系结构下,这部分功能可以放在客户端来
完成,以便充分利用目前微机上丰富的数据分析软件。
13.2.3 数据仓库的数据组织
? 数据仓库的数据来源于 RDB,需要进行转化。
? 数据仓库的数据长期保存。
? 数据组织需要考虑以下方面:粒度、分割以及
数据的模型结构。
13.2.3 数据仓库的数据组织
? 图 13_3 一个典型的数据仓库的数据组织结构
销售细节级
1985-2003
销售细节级
2003-2004
子生产线
每周销售
1985-2004
生产线每月销售
1982-2004
元
数
据
早期细节级
当前细节级
轻度综合数
据级 ( 数据
集市 )
高度综合数
据级
操作型数据
13.2.3 数据仓库数据组织,粒度
? 粒度是指数据仓库的数据单位中保存数据的细化
或综合程度的级别。细化程度越高,粒度级越小;
相反,细化程度越低,粒度级越大。
? 粒度影响存放在数据仓库中数据量的大小,同时
影响数据仓库所能回答的查询类型。
? 小粒度级或高细节级,可回答任何问题,但数据
量大。大粒度级或低细节级,数据量少。在设计
数据仓库时,需要在数据量大小与查询的详细程
度之间要作出权衡,对粒度级进行权衡,最佳解
决之法使双重粒度。
13.2.3 数据仓库数据组织,分割
? 数据分割是指把数据分散到各自的物理单元中
去, 它们能独立地处理 。
? 在数据仓库中, 围绕分割问题的焦点不是该不
该分割而是如何去分割的问题 。
? 分割总体目的是把数据划分成小的物理单元 。
? 数据分割包括,时间, 商业线, 地理位置, 组织
单位, 所有上述标准 。
13.2.3 数据仓库数据组织:星型模型
? 数据仓库一般采
用星型模型和雪
片模型来描述系
统结构。
? 通过, 维表一事
实表, 构造关系
型数据仓库。
事实表:
订单号
销售员号
客户号
产品号
日期
地区名称
数量
总价
产品表:
产品号
产品名称
规格
产品类别
单价
日期表:
日期
日
周
月
季
年
地区表:
地区名称
省别
销售员表:
销售员号
销售员名
城市
客户表:
客户号
客户名称
客户地址
订货表:
订单号
订货日期
13.2.3 数据仓库数据组织,雪花 模型
事实表:
订单号
销售员号
客户号
产品号
日期
地区名称
数量
总价
产品表:
产品号
产品名称
规格
产品类别
单价
日期表:
日期
日
月地区表:
地区名称
省别
销售员表:
销售员号
销售员姓名
城市
客户表:
客户号
客户名称
客户地址
订货表:
订单号
订货日期
产品类别
:
产品类别
类别描述
月表:
月
年
省表:
省别
13.2.4 数据仓库需要的 DB技术
? 1.高性能数据库服务器
? 分析型应用涉及的数据量大, 查询要求复杂, 为了能较快
地获得分析结果, 因此, 需要高性能的 DBMS核心的支持,
要求 DBMS必须具有良好的查询优化机制 。
? 2.并行数据库技术
? 数据仓库 可谓是超大规模数据库 ( VLDB), 通常是 GB甚至
TB级的, 而且随着时间延长, 新数据还会不断进入 。 并行
数据库技术是存储和管理 VLDB,并提供对 VLDB复杂查询处
理的有效技术 。
? 3.数据库互操作技术
13.3 数据仓库的设计
? 数据仓库设计与传统的数据库设计有很大不同。
数据仓库主要为数据分析服务,因此有时为了
获得更好的分析效果,往往需要增加数据冗余,
重复地保存一些经过计算就可得到的数据项。
? 13.3.1 数据仓库开发的生命周期
? 13.3.2 数据仓库设计步骤
13.3.1 数据仓库开发的生命周期
? 不同与数据库开发的生命周期。
? 数据仓库开发的生命周期受数据驱动,在开发
数据仓库之前,用户需求不可预知,用户并不
完全知道他们能从数据仓库中得到什么。
? 因此,开发过程是先实现数据仓库的一部分,
然后经集成数据、检验偏差、针对数据编程、
设计 DSS系统、分析结果、理解需求而成。
13.3.2 数据仓库设计步骤
? 建立数据仓库包括 5个方面工作:规划、任务和环境的
评估、需求的搜集和分析、构造数据仓库、数据仓库技
术的培训、数据仓库工程回顾。
? 规划完成后,建立数据仓库首先应为数据仓库选择不同
的主题。
? 典型主题包括:顾客、产品、事务或活动、保险单、索
赔、帐目等。
? 建立数据仓库可从第一个主题开始,先围绕第一个主题
组织数据,实施应用,然后再逐步深入,反复开发。
? 第 1天到第 n天现象描述建立 DW的具体过程。
13.4 OLAP与数据仓库
? 数据仓库中的数据分析工具主要包括:联机分
析处理( On-Line Analytical Processing,OLAP)
工具和数据挖掘( data mining,DM)工具。
? 13.4.1 OLTP 系统
? 13.4.2 OLAP 系统
? 13.4.3 多维数据视图和多维数据库
? 13.4.4 将 OLTP 数据转换到 OLAP 数据仓库
? 13.4.5 数据转换和数据仓库组件
13.4.1 OLTP 系统
? OLTP系统基于计算机并记录企业的业务事务。
? OLTP个别事务处理能够很快地完成,并且只
需访问相对较少的数据。 OLTP 系统旨在处理
同时输入的成百上千的事务。
? C/S,B/S
13.4.2 OLAP系统
? 联机分析处理 ( OLAP) 系统是一种旨在处理发现趋
势和关键因素所需的查询的系统。 E.F.Codd于 1992年
最早提出了 OLAP概念
? OLAP可简明地理解为共享多维信息的快速分析。特点:
快速性、可分析性、共享性、多维性和信息性。
? OLAP工具分三类:
? 一类是基于多维数据库的( MOLAP)
? 另一类是基于关系数据库的( ROLAP)
? 第三类是将 MOLAP和 ROLAP结合起来,称为混合的
OLAP( hybrid OLAP,HOLAP)。
13.4.3 多维数据视图和多维数据库
? OLAP一般利用多维数据视图和多维数据库,以多维的
形式组织数据,使分析方法和数据结构相分离,分析方
法更加灵活。
? 多维数据库是以多维方式来组织数据,立方体、维、层
次和量度是 OLAP多维导航的实质。
? 维是人们观察现实世界的角度,决策分析需要从不同的
角度观察分析数据。
? 度量值是多维数据集的基本单元,也是所分析数据的组
成单元。
? 每个维度被划分为称为成员的单元。维度的成员通常被
组织到层次结构中。
13.4.4 将 OLTP 数据转换到
OLAP 数据仓库
? 经过三个阶段:
? ( 1) 将数据从 OLTP 或遗留数据源析取到中间存储区域
中 。
? ( 2) 将数据转换为更适合在 OLAP 系统中使用的格式,
进行数据清理和聚合等操作 。
? ( 3) 将数据装载到数据仓库或数据集市中 。
? 从 OLTP 和遗留数据源中析取数据并将其转换到仓库服务
器中的过程称为 ETL 过程, 通常定期运行, 如每周一次或
每月一次 。 主要工作包括,1,合并数据 2,清理数据
3,聚合数据 4,将数据组织到多维数据集中 。
13.4.5 数据转换和数据仓库组件
13.5 数据挖掘( data mining,DM)
?,数据爆炸,但知识缺乏”。
? 如何才能从数据中发现知识和规律呢?
? 数据挖掘与知识发现( Knowledged Discovery in Database,
KDD)。
? 数据挖掘是一种决策支持过程,它从大量的数据中提取
隐含的、潜在的、以前未知的有用信息或模式,主要基
于人工智能、机器学习、统计学和数据库等技术,注重
自动发现隐藏在数据中的模式和有用的信息。
? 数据挖掘可直接使用操作数据源, 数据仓库并不是数据
挖掘的先决条件,但 数据仓库的发展有效促进了数据挖
掘的研究 。
13.5 数据挖掘
? 数据挖掘与 OLAP不同 。 OLAP侧重于与用户的交互、快速的响应速度
及提供数据的多维视图。
? 数据挖掘和知识发现技术最早源于人工智能的学习,涉及
数据库技术、人工智能技术、机器学习与模式识别、数据
仓库和 OLAP、统计分析等技术。
? 20世纪 80年代末开始逐渐发展起来,进入 20世纪 90年代后,
数据挖掘和知识发现技术的研究广泛开展。
? 数据挖掘表明,知识就隐藏在日常积累下来的大量数据之
中,而仅靠复杂的算法和推理并不能发现知识,数据才是
知识的真正源泉。数据挖掘为 A I技术指出了一条新的发
展道路。
13.5.1 数据挖掘的任务
? 任务:从数据中发现模式
? 两种形式:验证驱动数据挖掘和发现驱动数据挖掘。
? 验证驱动的数据挖掘一般是针对某一特定的问题,通过
数据库中的一些属性来预测另一个属性,需要用到的技
术有查询和报告以及统计分析等。统计分析常用工具有:
SAS,SPSS,S+,TSP等。
? 发现驱动的数据挖掘用于发现预先并不知道的知识,其
关键技术是模式识别和关系识别的算法,主要包括关联
规则发现、数据分类、聚类分析、数据泛化和归纳、神
经网络和偏差分析等。发现驱动的数据挖掘所发现的知
识可分为 5类:广义知识、关联知识、分类知识、预测
性知识和偏差性知识。
13.5.2 数据挖掘过程
? 一般过程分为四阶段:确定
目标、数据准备、数据挖掘、
以及表达、评价和巩固挖掘
结果。
目标数据
预处理
后的数
据
变换后
的数据
模型 /模
式
DB
DW
-----
-----
……
.
选择采样
模型解
释评价
数据预处理和清洗
数据变换和压
缩
数据挖掘 知识
13.5.3 数据挖掘的方法
? 一般 60%时间用在数据准备上,而挖掘工作仅
占总工作量的 10%。
? 一整套好的数据挖掘方法包括以下几点:
? ( 1) sample:数据取样。
? ( 2) Explore:数据特征探索、分析和预处理。
? ( 3) Modify:问题明确化、数据调整和技术
选择。
? ( 4) Model:模型研究及知识发现。
? ( 5) Assess:模型和知识的综合解释与评价。
13.6 决策支持系统与数据仓库
? 决策支持系统是一种能为中高层决策者提供重
要决策支持信息的数据库系统,比 MIS更高级。
? 数据仓库主要价值是为了有效地构建 DSS,支
持管理决策。
? 高级管理人员信息系统( EIS)用途包括:趋
势分析和发现;关键比例指标度量和跟踪;向
下探察分析;问题监控;竞争分析,数据仓库
可为之提供有效支持。
13.6.1 传统 DSS的开发
? 20世纪 80年代初,国内外曾在 DSS的研究过程中提出
了数据库、模型库和方法库的概念和方法。
? 传统 DSS失败原因,
? 第一,缺乏丰富的数据资源。
? 第二,网络技术不发达,数据共享不充分。
? 第三,缺乏有效的数据分析工具 。
? 第四,数据库、方法库和知识库未能有机地结合起来。
13.6.2 基于 DW的 DSS解决方案
? 有效的 DSS解决方案,DW+OLAP+DM。特点:
? ( 1)底层 DB的大量事务级细节数据是整个 DSS的数据源。
? ( 2)数据仓库是对底层的细节数据进行集成、转换、综
合,重新组织成面向全局的数据视图,为 DSS提供数据存
储和组织的基础。
? ( 3)联机分析处理从数据仓库中集成的数据出发,构建
面向分析的多维数据模型,再使用多维分析方法从多个不
同的视角对多维数据进行分析比较,分析方法与数据结构
分开,更加灵活。
? ( 4)数据挖掘以数据仓库和多维数据库中大量的数据为
基础,自动发现数据中潜在的模式,并以此做出预测,对
实现 DSS的目标具有重大价值。
13.7 SQL Server 2000数据仓库
? 提供了强大工具和功能支持完成创建、使用和
维护数据仓库的任务,Analysis Services包含
了 OLAP和数据挖掘。
? 将数据仓库分为两种基本类型:企业数据仓库
和数据集市。
? 13.7.1 Microsoft数据仓库框架
? 13.7.2 Analysis Services组件
? 13.7.3 SQL Server2000数据仓库组件
13.7.1 Microsoft数据仓库框架
Data warehouse Management
Repository(Persistent Shared Meta-Data)
InfoPublishReplScheduleTransformSchema OLAP
Operational
Sources
Data
Transform
cleaning
Data Marks or
Data
warehouse
Infor_
mation
Dir
End
User
Tools
Data warehouse/Data Mark Design
M
A
N
A
G
I
N
G
Building Using
13.7.1 Microsoft数据仓库框架
? 该框架提供,
? ( 1) 易于与第三方供货商集成和易于由第三方供货商
扩展的开放式体系结构 。
? ( 2) 异类数据导入, 导出, 确认和带可选数据类型的
清理服务 。
? ( 3) 集成的元数据用于数据仓库的设计, 数据析取 /
转换, 服务器管理和最终用户分析工具 。
? ( 4) 用于日程安排, 存储管理, 性能监测, 报警 /事
件和通知的核心管理服务 。
13.7.2 Analysis Services组件
? Analysis Services组件集成了 DW和 DM的解决方案。
? Analysis Services 是一套易于使用的综合的可伸缩组件,
用于 OLAP和数据挖掘的中层服务器,使用它可以构造多
维数据集并向应用程序提供对多维数据集的访问。多维数
据集作为单独的高性能多维数据结构( MOLAP)或作为
两者的混合组合( HOLAP),可以存储在关系数据库
( ROLAP)中。
? Analysis Services 通过 OLE DB提供程序将多维数据集中
的数据表现给应用程序。 Analysis Services 提供程序支持
OLE DB的多维扩展和 ActiveX多维数据对象( ADO MD)
的 API。
13.7.3 SQL Server2000数据仓库
组件
13.8 小结一
? 数据库分析型处理不同于操作型处理, 分析型数据不同于
操作型数据 。
? 在操作型处理的数据环境很难构造有效的分析型应用, 因
此需要建立 DW来专门保存分析型数据 。
? DW是一个面向主题的, 集成的, 稳定的, 随时间而变的数
据集合, 用以支持经营管理过程中的决策制订过程 。 有四
个方面的特征:面向主题, 集成, 稳定和随时间变化 。
? DW总体组成结构包含 7部分:数据源, 数据抽取转换和装
载工具, 数据建模工具, 数据仓储, DW的目标数据, DW
管理工具, 前端数据访问分析工具,
? DW设计与传统 DB设计不同 。 DW开发的生命周期受数据驱
动, 在开发 DW之前, 用户需求不可预知 。 将传统 DB中的
数据组织到 DW要考虑:粒度, 分割以及数据模型结构 。
13.8 小结二
? OLAP系统是一种旨在处理发现趋势和关键因素所需的查询
的系统。 OLAP一般利用多维数据视图和多维数据库,以多
维的形式组织数据。将 OLTP数据转换到 OLAP数据仓库要
经过复杂的过程。
? DW是从大型数据库或数据仓库中发现并提取隐藏信息的
一种新技术。数据挖掘是反复的过程。数据仓库促进了数
据挖掘的发展。
? DSS是旨在为决策提供有效信息的高级系统。传统 DSS并
不很成功。现在有效的 DSS解决方案,DW+OLAP+DM。
? SQL Server 2000提供了 DW框架,通过 Analysis Services组
件包含了 DW,OLAP、数据挖掘、数据转换服务,English
Query方面的功能。
13.8 习题一
? 13.1解析下列名词:数据仓库, 粒度, 数据分割, 星形
模型, 雪片模型, 维, 度量, 多维数据库, 事实表, 维
表, OLTP,OLAP,DSS,DM。
? 13.2 操作型处理与分析型处理有何不同? 操作型数据与
分析型数据有何不同?
? 13.3 数据仓库有何特点?
? 13.4 数据仓库设计与数据库设计有何不同? 数据仓库设
计要考虑哪些因素? 如何进行数据仓库设计? 简述数据
仓库设计的步骤 。
? 13.5 数据仓库需要哪些技术的支持?
13.8 习题二
? 13.6 以销售主题为例设计一个数据仓库。
? 13.7 OLAP与 OLTP有何不同?如何将 OLTP数据转换为
OLAP数据?
? 13.8 数据挖掘有何作用?与 OLAP,DSS有何区别?
? 13.9 简述数据挖掘的一般过程?有何作用?与 OLAP有
何区别?
? 13.10 传统 DSS存在什么问题? DW与 DSS有何联系?
? 13.11简述 SQL Server 2000在数据仓库、数据挖掘和
OLAP方面的支持。