以下为《数据挖掘 概念与技术(中文第3版).》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
第4章某某
Data Mining: Concepts and Techniques, Third Edition
数据仓库与联机分析处理
数据仓库泛化、合并多维空间的数据。构造数据仓库涉及数据清理、数据集成和数据变 换,可以看做数据挖掘的一个重要预处理步骤。此外,数据仓库提供联机分析处理 (OLAP)工具,用于各种粒度的多维数据的交互分析,有利于有效的数据泛化和数据挖掘。 许多其他数据挖掘功能,如关联、分类、预测和聚类,都可以与OLAP操作集成,以加强多 个抽象层上的交互知识挖掘。因此,数据仓库已经成为数据分析和联机数据分析处理的日趋 重要的平台,并将为数据挖掘提供有效的平台。因此,构造数据仓库和OLAP已经成为知识 发现过程的基本步骤。本章概括地介绍数据仓库和OLAP技术。对于理解整个数据挖掘与知 识发现过程,这种概述是必要的。--
本章,我们将学习广泛接受的数据仓库定义,并考察为什么越来越多的组织正在为他们 的数据分析构建数据仓库(4.1节)。特别地,我们将研究数据立方某某,它是一种用于某某 仓库和OLAP以及OLAP操作(如上卷、下钻、切片和切块)的多维数据模型(4.2节)。 我们还将考察数据仓库的设计和使用(4.3节)。此外,我们讨论多维数据挖掘 种
数据仓库和OLAP技术与数据挖掘集成的范型。数据仓库实现的概述考察数据立方某某的有 效计算、OLAP数据索引和OLAP查询处理的一般策略(4.4节)。最后,我们研究通过面 向属性的归纳进行数据泛化(4.5节)。这种方法使用概念分层,把数据泛化到多个抽 象层。
4.1数据仓库:基本概念
125 | 本节是数据仓库导论。我们从数据仓库的定义(4. 1. 1节)开始,概述操作数据库系统
与数据仓库之间的差别(4. 1.2节),并解释为什么需要使用数据仓库分析数据,而不是在 传统的数据库上进行分析(4.1.3节)。随后介绍数据仓库体系结构(4.1.4节)。接着,我 们研究三种数据仓库模型——企业模型、数据集市和虚拟仓库(4.1.5节)。4. 1.6节建立 数据仓库的后端工具,如提取、变换和装入。最后,4.1.7节介绍元数据库,它存放关于数 据的数据。
4-1.1什么是数据仓库
数据仓库的建立为工商企业主管提供了体系结构和工具,以便他们系统地组织、理解和 使用数据进行决策。在当今这个充满竞争和快速发展的世界,数据仓库系统是一种有价值的 工具。在过去的几年中,***已经花费了数百万美元,建立起企业范围的数据仓库。许 多人感到,随着工业竞争的加剧,数据仓库成了必备的最新营销武器 种通过更多地了
解客户需求而留住客户的途径。
“那么,到底什么是数据仓库?”数据仓库已用多种方式定义,很难给出一种严格的定 义。宽泛地讲,数据仓库是一种数据库,它与单位的操作数据库分别维护。数据仓库系统允 许将各种应用系统集成在一起,为统一的历史数据分析提供坚实的平台,对信息处理提供 支持。按照一位数据仓库系统构造方面的领衔设计师William H. Inmon的说法,“数据仓库是 一个面向主题的、集成的、时变的、非易失的数据集合,支持管理者的决策过程” [Inm96]。这个简短而又全面的定义指出了数据仓库的主要特征。四个关键词,面向主题 的、集成的、时变的、非易失的,将数据仓库与其他数据存储系统(如关系数据库系统、 事务处理系统和文件系统)相区别。
我们进一步看看这些关键特征。
?面向主题的(subject-oriented):数据仓库围绕一些重要主题,如顾客、供应商、产 品和销售组织。数据仓库关注决策者的数据建模与分析,而不是单位的日常操作和 事务处理。因此,数据仓库通常排除对于决策无用的数据,提供特定主题的简明 视图。
?集成的(integrated):通常,构造数据仓库是将多个异构数据源,如关系数据库、 一般文件和联机事责处理记录集成在一起。使用数据清理和数据集成技术,确保命 名约定、编码结聂属性度量等的一致性。 匝
?时变的(time-variant):数据存储从历史的角度(例如,过去5 ~ 10年)提供信息。 数据仓库中的关键结构都隐式或显式地包含时间元素。
?非易失的(nonvolatile):数据仓库总是物理地分离存放数据,这些数据源于操作环 境下的应用数据。由于这种分离,数据仓库不需要事务处理、恢复和并发控制机制。 通常,它只需要两种数据访问操作:数据的初始化装入和数据访问。
概言之,数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实 现,并存放企业战略决策所需要的信息。数据仓库也常常被看做一种体系结构,通过将 异构数据源中的数据集成在一起而构建,支持结构化和/或专门的查询、分析报告和决策 制定。
根据上面的讨论,我们把建立数据仓库(data warehousing)看做构建和使用数据仓库的 过程。数据仓库的构建需要数据集成、数据清理和数据统一。数据仓库的应用常常需要一些 决策支持技术。这使得“知识工人”(例如,经理、分析人员和主管)能够使用数据仓库快 捷、方便地得到数据的总体视图,根据数据仓库中的信息做出准确的决策。有些作者使用术 语“data vmrehousing"表示构造数据仓库的过程,而用术语“warehouse DBMS”表示数据仓 库的管理和使用。我们将不区分二者。
“单位如何使用数据仓库中的信息?”许多单位都使用这些信息支持商务决策活动,包 括(1)提高顾客关注度,这包括分析顾客购买模式(如喜欢买什么、购买时间、预算周 期、消费习惯);(2)根据按季度、按年和按地区的营销情况比较,重新配置产品和管理产 品的投资,调整生产策略;(3)分析运作情况并找\�利润源;(4)管理客户联系,进行环 境调整,***的资产开销。
从异构数据库集成的角度来看,数据仓库也是非常有用的。许多组织机构收集了形形色 色的数据,并由多个异构的、自治的和分布的数据源维护大型数据库。集成这些数据,并提 供简便、有效的访问是人们非常期望的,并且也是一种挑战。数据库业界和研究界都正朝着 实现这一目标竭尽全力。
对于异构数据库的集成,传统的数据库做法是:在多个异构数据库上,建立一个包装程 序和一个集成程序(或中介程序)。当查询在客户站点提交时,首先使用元数据字典对查询 进行转换,将它转换成相应异构站点上的查询。然后,将这些查询映射和发送到局部查询处
W 理器。由不同站点返回的结果被集成为全局回答。这种查询驱动的(query-driven)方法需 要复杂的信息过滤和集成处理,并且与局部数据源上的处理竞争资源。这种方法是低效的, 并且对于频繁的查询,特别是需要聚集操作的查询,开销可能很大。
对于异构数据库集成的传统方法,数据仓库提供了一种有趣的替代方案。数据仓库使 用更新驱动的(update-driven)方法,而不是查询驱动的方法。这种方法将来自多个异构 源的信息预先集成,并存储在数据仓库中,供直接查询和分析。与联机事务处理数据库 不同,数据仓库不包含最近的信息。然而,数据仓库为集成的异构数据库系统带来了高 性能,因为数据被复制、预处理、集成、注释、汇总,并重新组织到一个语义一致的数 据存储中。数据仓库的查询处理并不影响在局部数据源上进行的处理。此外,数据仓库 可以存储并集成历史信息,支持复杂的多维查询。因此,建立数据仓库在工业界已经非 常某某。
4- 1.2操作数据库系统与数据仓库商某某?别
由于大多数人都熟悉商用关系数据库系统,将数据仓库与之比较,就容易理解什么是数 据仓库。
联机操作数据库系统的主要任务是执行联机事务和查询处理。这种系统称做联机事务处 理(Online Transaction Processing, OLTP)系统。它们涵盖了单位的大部分日常操作,如购 物、库存、制造、银行、工资、注册、记账等。另一方面,数据仓库系统在数据分析和决策 方面为用户或“知识工人”提供服务。这种系统可以用不同的格式组织和提供数据,以便 满足不同用户的形形色色的需求。这种系统称做联机分析处理(OnLine Analytical Processing, OLAP)系统。
OLTP和OLAP的主要区别概述如下:
?用户和系统的面向性:OLTP是面向顾客的,用于办事员、客户和信息技术专业人 员的事务和查询处理。OLAP是面向市场的,用于知识工人(包括经理、主管和分 析人员)的数据分析。
?数据内容:OLTP系统管理当前数据。通常,这种数据太琐碎,很难用于决策。 OLAP系统管理大量历史数据,提供汇总和聚集机制,并在不同的粒度层上存储和 远 管理信息。这些特点使得数据更容易用于有根据的决策。
?数据库设计:通常,OLTP系统采用实体-联系(ER)数据模型和面向应用的数据 库设计。而OLAP系统通常采用星形或雪花模型(在4. 2.2小节讨论)和面向主题 的数据库设计。
?视图:OLTP系统主要关注一个企业或部门内部的当前数据,而不涉及历史数据或 不同单位的数据。相比之下,由于单位的演变,OLAP系统常常跨越数据库模式的 多个版本。OLAP系统还处理来自不同单位的信息,以及由多个数据库集成的信息。 由于某某量巨大,OLAP数据也存放在多个存储介质上。
?访问模式:OLTP系统的访问主要由短的原子事务组成。这种系统需要并发控制和 恢复机制。然而,对QLAP系统的访问大部分是只读操作(由于大部分数据仓库存 放历史数据,而不是最新数据),尽管许多可能是复杂的查询。
OLTP和OLAP的其他区别包括数据库大小、操作的频繁程度、性能度量等。这些都概 括在表4. 1中。
表4. 1 OLTP系统与OLAP系统的比较
特征
OLTP
OLAP
特性
操作处理
信息处理
面向
事务
分析
用户
办事员、DBA、数据库专业人员
知识工人(如经理、主管、分析人员)
功能
日常操作
长期信息需求、决策支持
DB设计
基于E-R,面向应用
星形/雪花、面向主题
数据
当前的、确保最新
历史的、跨时间维护
汇总
原始的、高度详细
汇总的、统一的
视图
详细、一般关系
汇总的、多维的
工作单元
短的、简单事务
复杂查询
访问
读/写
大多为读
关注
数据进入
信息输出
操作
主码上索引/散列.
大量扫描
访问记录数量
数十
数百万
用户数
数千
数百
DB规模
GB到高达GB
3 TB
优先
高性能、高可用性
高灵活性、终端用户自治
度量
事务吞吐量
查询吞吐量、响应时间
注:该表部分基于Chaudhuri和Daya![ CD97 ] o
4- 1.3为什么需要分离的数据仓库
既然操作数据库存放了大量数据,你可能奇怪“为什么不直接在这种数据库上进行联 机分析处理,而是另外花费时间和资源去构造分离的数据仓库?”分离的主要原因是有助于 提高两个系统的性能。操作数据库是为已知的任务和负载设计的,如使用主码索引和散列, 检索特定的记录,优化“定制的”查询。另一方面,数据仓库的查询通常是复杂的,涉及 大量数据在汇总级的计算,可能需要特殊的基于多维视图的数据组织、存取方法和实现方 法。在操作数据库上处理OLAP查询,可能会大大降低操作任务的性能。
此外,操作数据库支持多事务的并发处理,需要并发控制和恢复机制(例如,加锁和 记日志),以确保一致性和事务的鲁棒性。通常,OLAP查询只需要对汇总和聚集数据记录 进行只读访问。如果将并发控制和恢复机制用于这种OLAP操作,就会危害并行事务的运 行,从而大大降低OLTP系统的吞吐量。
最后,数据仓库与操作数据库分离是由于这两种系统中数据的结构、内容和用法都不相 同。决策支持需要历史数据,而操作数据库一般不维护历史数据。在这种情况下,操作数据 库中的数据尽管很丰富,但对于决策,常常还是远非完整的。决策支持需要整合来自异构源 的数据(例如,聚集和汇总),产生高质量的、纯净的和集成的数据。相比之下,操作数据 库只维护详细的原始数据(如事务),这些数据在进行分析之前需要整理。由于两种系统提 供大不相同的功能,需要不同类型的数据,因此需要维护分离的数据库。然而,许多关系数 据库管理系统供应商正开始优化这种系统,使之支持OLAP查询。随着这一趋势的继续, OLTP和OLAP系统之间的分离有望减少。
4. 1-4数据仓库:一种多层体系结构
通常,数据仓库采用三层体系结构,如图4.1所示。/
/
/
/
外部数据源
图4.1三层数据仓库结构
(1) 底层是仓库数据库服务器,它几乎总是一个关系数据库系统。使用后端工具和实 用程序,由操作数据库或其他外部数据源(例如,由外部咨询者提供的顾客侧面信息)提 取数据,放入底层。这些工具和实用程序进行数据提取、清理和变换(例如,将来自不同 数据源的数据合并成一致的格式),以及装入和刷新,以更新数据仓库(4.1.6节)。数据提 取使用一种称做信关(gateway)的应用程序。信关由基础DBMS支持,允许客户程序产生 SQL代码,在服务器上执行。信关的例子包括微软的ODBC (开放数据库连接)和OLE-DB
旬 (数据库开放链接和嵌入)以及JDBC (Java数据库连接)。这一层还包括元数据库,存放关 于某某仓库和它的内容的信息。元数据库在4. 1.7节进一步介绍。
(2) 中间层是OLAP服务器,其典型的实现使用(i)关系OLAP (ROLAP)模型 (即扩充的关系DBMS,它将多维数据上的操作映射为标准的关系操作),或者使用(ii)多 维OLAP (MOLAP)模型(即专门的服务器,它直接实现多维数据和操作)。OLAP服务器 在4. 4. 4节讨论。
(3) 顶层是前端客户层,它包括查询和报告工具、分析工具和/或数据挖掘工具(例 如,趋势分析、预测等)。
4-1.5数据仓库模型:企业仓库、数据集市和虚拟仓库
从结构的角度看,有三种数据仓库模型:企业仓犀、数据集市和虚拟仓库。
企业仓库(enterprise warehouse):企业仓库搜集了关于主题的所有信息,跨越整个企 业。它提供企业范围内的数据集成,通常来自一个或多个操作数据库系统或外部信息提供 者,并且是多功能的。通常,它包含细节数据和汇总数据,其规模由数兆兆字节,到数百兆 兆字节,数千兆兆字节,甚至更多。企业数据仓库可以在传统的大型机、超级计算机服务器 或并行结构平台上实现。它需要广泛的商务建模,可能需要多年设计和建设。
数据集市(datamart):数据集市包含企业范围数据的一个子集,对于特定的用户群是 有用的。其范围限于选定的主题。例如,销售数据集市可能限定其主题为顾客、商品和销 售。包括在数据集市中的数据通常是汇总的。
通常,数据集市可以在低价格的部门服务器上实现,基于UNIX/Linux或Windows。数 据集市的实现周期一般是数以周某某,-而不是数以月计或数以年计。然而,如果它的设计和规 划不是企业范围的,从长远来看,可能涉及很复杂的集成。
根据数据的来源不同,数据集市分为独立的和依赖的两类。在独立的数据集市中,数据 来自一个或多个操作数据库系统或外部信息提供者,或者来自在一个特定的部门或地区局部 产生的数据。依赖的数据集市的数据直接来自企业数据仓库。 W
虚拟仓库(virtual warehouse):虚拟仓库是操作数据库上视图的集合。为了有效地处理 查询,只有一些可能的汇总视图被物化。虚拟仓库易于建立,但需要操作数据库服务器还有 余力。
“数据仓库开发的自顶向下和自底向上方法的优缺点是什么?”自顶向下开发企业仓库 是一种系统的解决方案,并能最大限度地减少集成问题。然而,它费用高,开发周期长,并 且缺乏灵活性,因为整个组织就共同数据模型达成一致是比较困难的。设计、开发、配置独 立的数据集市的自底向上的方法提供了灵活性、低花费,并能快速回报投资。然而,将分散 的数据集市集成,形成一个一致的企业数据仓库时,可能导致问题。
对于开发数据仓库系统,一种推荐 的方法是以递增、进化的方式实现数据 仓库,如图4. 2所示。首先,在一个合 理短的时间内(如一两个月),定义一 个高层次的企业数据模型,在不同的主 题和可能的应用之间,提供企业范围的、 一致的、集成的数据视图。这个高层模 型将大大减少今后的集成问题,尽管在 企业数据仓库***, 它还需要进一步提炼。其次,基于上述 相同的企业数据模型,可以并行地实现 独立的数据集市和企业数据仓库。再次, 可以通过中心服务器集成不同的数据集 市,构造分布数据集市。最后,构造一 个多层数据仓库(multitier data warehouse) ,这里,企业仓库是所有仓库数
据的唯一管理者,仓库数据分布在一些依赖的数据集市中。
4. 1.6数据提取、变换和装入
数据仓库系统使用后端工具和实用程序来加载和刷新它的数据(-见图4.1)。这些工具 和实用程序包含以下功能:
?数据提取:通常,由多个异构的外部数据源收集数据。
?数据清理:检测数据中的错误,可能时订正它们。
-数据变换:将数据由遗产或宿主格式转换成数据仓库格式。
?装入:排序、汇总、合并、计算视图、检查完整性,并建立索引和划分。
?刷新:传播由数据源到数据仓库的更新。
除清理、装入、刷和.新元数据定义工具外,数据仓库系统通常还提供一组数据仓库管理 工具。 .
数据清理和数据变换是提高数据质量,从而提高其后的数据挖掘结果质量的重要步骤 (见第3章)。由于我们的主要兴趣在于与数据挖掘有关的数据仓库技术,因此我们不深入 讨论这些工具的细节,建议有兴趣的读者查阅有关数据仓库技术的书籍。
4- 1.7元数据库
元数据是关于某某的数据。在数据仓库中,元数据是定义仓库对象的数据。图4.1显示 元数据库在数据仓库体系结构的底层。对于给定的数据仓库的数据名和定义,创建元数据。 其他元数据包括对提取数据添加的时间标签、提取数据的源、被数据清理或集成处理添加的 缺失字段等。
_ 元数据库应当包括以下内容:
吁3 .数据仓库结构的描述,包括仓库模式、视图、维、分层结构、导出数据的定义,以 134J 及数据集市的位置和内容。
?操作元数据,包括数据血统(迁移数据的历史和它所使用的变换序列)、数据流通(主 动的、档案的或净化的)和管理信息(仓库使用的统计量、错误报告和审计跟踪)。
?用于汇总的算法,包括度量和维定义算法,数据所处的粒度、划分、主题领域、聚 集、汇总、预定义的查询和报告。
?由操作环境到数据仓库的映射,包括源数据库和它们的内容,信关描述,数据划分, 数据提取、清理、转换规则和默认值,数据刷和.新净化规则,以及安全性(用户授 权和存取控制)。
?关于系统性能的数据,除刷新、更和.新复制周期的定时和调度的规则外,还包括改 善数据存取和检索性能的索引和概要。
?商务元数据,包括商务术语和定义,数据拥有者信息和收费策略。
数据仓库包含不同的汇总层,元数据是其中一种类型。其他类型包括当前的细节数据 (几乎总是在磁盘上)、老的细节数据(通常在三级存储器上)、稍加汇总的数据和高度汇总 的数据(可以,也可以不物理地存入仓库)。
与数据仓库中的其他数据相比,元数据扮演很不相同的角色,并且由于种种原因,它也 是重要的角色。例如,元数 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 OLAP 的查询处理。位映射和其他非传统索引技术的,隹能讨论在O' Neil和Quass [OQ97]中给\�。
关于为有效的OLAP查询处理物化方某某选择的工作,参见如Chaudhuri和Dayal[CD97] , Harinarayan、 Rajaraman和Ullman [ HRU96 ],以及Sristava等[SDJL96 ] o立方某某大小估计的方法可以在Deshpande等 [DNR + 97 ] , Ross 和 Srivastava [ RS97 ],以及 Beyer 和 Ramakrishnan [ BR99 ]中找到。Agrawal、Gupta 和 Sarawagi: AGS97]提出了多维数据库建模的操作。通过联机聚集快速回答查询的方法在Hellerstein, Haas 和WangLHHW97] , Hellerstein等[HAL 99]中介绍。估计最高N个查询的技术由Carey和Kossman [CK98], Donjerkovic和Ramakrishnan] DR99]提出。关于智能OLAP和数据立方某某的发现驱动的探查在第 [1851 5章的文献注释中提供。
[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《数据挖掘 概念与技术(中文第3版).》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。