1
第 15章 数据仓库
? 什么是数据仓库?
? 数据仓库的结构
? 数据仓库系统
? 建立数据仓库
? 实现数据仓库的数据库环境
? 数据仓库与决策支持
? SQL Server的数据仓库解决方案
? 将 SQL Server的 OLTP数据转换到 OLAP数据仓库
? 软件开发商的数据仓库解决方案
2
什么是数据仓库?
?数据仓库是支持管理决策过程的、面向主题的、
集成的、随时间而增长的持久的数据集合。
3
OLTP与 OLAP
?数据库上的业务处理称作 OLTP( On-Line
Transaction Processing),即联机事务处理;
?而数据仓库上的业务处理称作 OLAP( On-
Line Analytical Processing),即联机分析
处理。
4
数据仓库的特点:
1.面向主题,可以根据最终用户的观点组织和提供数据。
2.管理大量信息,数据仓库含有大量历史数据。
3.信息存储在多个存储介质上,因为必须管理大量的信息,
所以数据仓库的数据往往存储在多个介质上。
4.信息的概括和聚集,可以将信息概括和聚集,并以人们易
于理解的方式提供出来。
5.从许多数据来源中将信息集成并使之关联,由于数据仓库
要管理大量的、且包含历史信息的数据,而这些数据可能和多个
应用及多个数据库有关,所以需要数据仓库收集和组织这些应用
程序多年来在各场合获得的数据。
6.跨越数据库模式的多个版本,因为数据仓库必须管理和存
储历史数据,而这些历史数据在不同时代数据库模式的不同版本
之中,所以数据仓库有时还需要处理来自不同数据库的信息。
5
数据仓库的结构
6
数据仓库系统
7
建立数据仓库
?分析决策需求,确定数据来源。这是一个分析过程,需要
从可操作的源数据库中筛选所需数据,对其进行归纳整理,
存入数据仓库的不同信息层。
?定义数据的综合、转化过程。使系统自动将数据从不同的
信息源中提取出来,转移到数据仓库中,并给予维护。
?建立数据仓库。综合并行技术、关系数据库系统和中间件,
在现有的异构环境基础上建立数据仓库。
?建立能使用户从数据仓库中获取所需信息(数据、知识)
的工具。能进行有效的数据访问和应用开发,为用户迅速
建立起适用于决策支持的数据仓库界面和应用软件。
8
实现数据仓库的数据库环境
?高性能数据库服务器
?并行数据库技术
?数据库互操作技术
9
数据仓库与决策支持
?基于数据仓库的决策支持技术是通过数据仓库来
转化、综合和管理业务数据库中的大量数据的,
因此数据仓库的快速查询可以高效地获得数据。
数据挖掘不是一种单一的技术或软件,它综合了
数据可视化、机器学习、统计学和数据库技术,
通过某种方法在大量数据中发现有用知识,使数
据、知识和决策过程成为一个有机的整体,因此,
决策支持过程的准确性和实时性都能大大提高。
数据仓库和数据挖掘技术已经迅速发展起来,并
逐渐成为决策支持的新手段。
10
SQL Server的数据仓库解决方案
? SQL Server提供了一些组件可以将 OLTP数据转换为 OLAP数据,并使
OLAP信息可由决策者使用,从而构成 SQL Server的数据仓库解决方案。
XML和 OLE DB SQL Server关系数据库管理系统 数据转换服务
Analysis Services和数据挖掘 English Query Meta Data Services
11
XML和 OLE DB
?XML( 扩展标记语言)是一种用以定义独立于特定的数
据存储或应用程序的数据表示语言。在应用程序间或通过
Web传输数据方面,XML正在成为一种标准。 SQL Server
能够将查询的结果集以 XML文档的形式返回,也可以从
XML文档中析取数据并将这些数据存储在数据库内的相
关表中。
?OLE DB是 Microsoft定义的公用数据访问规范。许多数据
存储产品(如电子表格、数据库或其它服务器应用程序)
都提供 OLE DB驱动程序,可供 OLE DB应用程序在访问
数据时使用。 OLE DB可以将数据表示为 XML文档。
?XML和 OLE DB是在各种不同的 SQL Server数据仓库组件
之间交流数据的重要机制。
12
SQL Server关系数据库管理系统
?SQL Server关系数据库管理系统主要用在
OLTP系统中,也用于存储和管理数据仓库
或数据集市中的数据。
13
数据转换服务
?DTS( Data Transition Service) 是一个组件,用于
从 OLE DB数据源获取数据、执行聚合数据
( SUM,MIN,MAX,AVG等)操作,并将数
据存储在目的 OLE DB数据源中。
?DTS将存储在关系表中的 OLTP数据转换为不同的
结构,以便可以用作多维数据集。 OLTP数据库中
的数据存储在关系表中,但 OLAP数据仓库中的
数据却存储在事实数据表和维度表中。事实数据
表存储多维数据集中表现的度量值,维度表则存
储有关维度成员的信息。
14
Analysis Services和数据挖掘
?Analysis Services是一套易于使用、综合的
可伸缩组件,使用它可以生成多维数据集
并向应用程序提供对多维数据集的访问。
Analysis Services为多维数据集提供的存储
机制类型非常灵活。
?Analysis Services通过 OLE DB将多维数据集
中的数据表现给应用程序。
?Analysis Services也支持工业标准数据挖掘
算法。数据挖掘支持用于发现数据中的趋
势和预测未来结果的新的先进工具。
15
English Query
?English Query允许最终用户就存储在 SQL Server
数据库、数据仓库和 OLAP多维数据集中的信息
用英语提出问题。 English Query可以定义数据库
或多维数据集中的各种表和列、维度及数据仓库
中的度量值之间的逻辑和语义关系,可以根据提
供的数据逻辑定义对问题进行分析。当查询
OLAP多维数据集时,English Query会返回一个
SQL语句,以便从数据库中析取所请求的信息。
当查询数据仓库或数据集市时,English Query会
返回 MDX( Multidimensional Expressions) 多维表
达式。应用程序执行 SQL语句或 MDX查询并将结
果返回给最终用户。
16
Meta Data Services
?SQL Server的 Meta Data Services( 元数据服
务)存储了一个模型,用以映射 SQL Server
数据库和数据仓库中的数据结构。该信息
主要用于第三方的快速开发工具,这些工
具既可以建立应用程序原型,也可以提供
基于 Meta Data Services模型中的信息的应
用程序模板。
17
将 SQL Server的 OLTP数据转换到 OLAP数据仓库
?从数据库到数据仓库的一个重要步骤就是将数据
库中的 OLTP数据转换为数据仓库中的 OLAP数据,
这种转换需要执行下列过程:
?合并数据
?清理数据
?聚合数据
?将数据组织到多维数据集中
?转换阶段和数据仓库组件
18
合并数据
?必须能够将特定项目的全部相关信息从多个 OLTP
系统合并到一个 OLAP系统。合并过程必须解决不
同 OLTP系统间的编码差别问题。合并过程还必须
能够将各 OLTP系统中使用不同数据类型存储的数
据转换成在某个 OLAP系统中使用的单一数据类型。
合并过程还必须把与 OLAP系统无关的 OLTP系统
中的数据排除在合并过程外。
?为 OLAP系统提供输入数据的系统并不局限于传统
的、位于中央数据库的 OLTP系统。有些重要的信
息甚至可能存储在相对较小的数据源(如 Excel
等)。
19
清理数据
?将 OLTP数据合并到数据仓库中后,便提供
了一个清理数据的机会。可能会发现不同
的 OLTP系统之间存在数据不一致,在将数
据装载到数据仓库中供 OLAP系统使用之前,
必须找出这些不一致。
20
聚合数据
?OLTP数据记录所有的事务详细信息。 OLAP
查询通常需要汇总数据或是以某种方式聚合
的数据。
?对数据仓库内数据的聚合程度取决于许多设
计因素,如 OLAP查询的速度要求和分析所
要求的粒度级。
21
将数据组织到多维数据集中
?OLTP数据的组织方式增加了分析处理的难
度且非常耗费时间,当将 OLTP数据移入数
据仓库时,必须对其结构进行转换,使之
能够更好地支持决策分析。生成数据仓库
的过程包括将存储在关系表中的 OLTP数据
重组为存储在多维数据集中的数据。
22
转换阶段和数据仓库组件
?通过 OLAP应用程序使数据可用的过程一般
经过下列三个阶段:
?将数据从 OLTP或其他数据源析取到中间存储
区域中;
?将数据转换为更适合在 OLAP系统中使用的格
式(这涉及数据清理和聚合等操作);
?将数据装载到数据仓库或数据集市中。
23
将 SQL Server的 OLTP数据转换到 OLAP数据仓库
?数据源
?中间数据存储
?仓库服务器
?业务智能
?元数据
24
数据源
?OLTP数据库和其他数据源,其内包含的数
据必须转换为数据仓库和数据集市中的
OLAP数据。
25
中间数据存储
?组合的数据存储区,对 OLTP数据进行存储、
清理并转换为有用的 OLAP数据的过程。
26
仓库服务器
?仓库服务器是运行包含数据仓库和数据集
市数据的关系数据库的计算机,以及运行
管理 OLAP数据的服务器的计算机。
27
业务智能
?用于查询 OLAP数据并向企业决策者提供报
表和信息的成套工具和应用程序。
28
元数据
?不同 OLAP组件中的数据和应用程序的结构
模型。元数据描述 OLTP数据库中的表、数
据仓库和数据集市中的多维数据集这类对
象,还记录哪些应用程序引用不同的记录
块。
29
软件开发商的数据仓库解决方案
?【本章小节】
?数据仓库是为决策支持服务的一种应用解决方案;
?什么是数据仓库?
?数据仓库的结构和数据仓库系统;
?如何建立数据仓库?
?SQL Server的数据仓库解决方案
30
时刻
对新事物
充满好奇,
使自己时
刻处于最
佳学习状
态!