《第11章数据仓库11.1关于数据仓库》由会员分享,可在线阅读,更多相关《第11章数据仓库11.1关于数据仓库(183页珍藏版)》请在金锄头文库上搜索。
1、第11章 数 据 仓 库11.1 关于数据仓库11.1.1 从事务数据到决策知识 DBMS的发展轨迹清晰的表明,它是在服务于联 机事务处理(Online Transaction Processing, OLTP)中不断完善和丰富起来的,特别是基于 E.F.Codd提出的关系理论的数据库的技术,将 数据集分成了甚少冗余的实体(Entity),并利 用关系(Relationship)将这些实体组织成一个 有机的整体,较好地满足了OLTP的应用需求。 其主要目的在于操作数据,而不在于分析数据 ,因此它提供了强大的数据存取、增添、删除 、修改等操作的功能体系。 另一方面,由于这些数据资料十分繁杂、 零
2、乱甚至互相矛盾,而且缺乏集中存储管 理和一致的应用接口,从而导致已有的数 据其实也不能为预测和决策服务提供多少 有用的信息。这相对于数据库系统的投入 而言是一种极大的资源浪费。 1 基于事务数据库的DSS的缺陷: (1) 数据缺乏组织性。DSS需要集成的数据,全面而正 确的数据是有效的分析和决策的首要前提,相关数据收 集得越完整,得到的结果就越可靠,DSS必须依赖数据 库抽取技术进行数据的重组。抽取程序的任务是搜索整 个数据库,利用某些算法和规则选择符合要求的数据, 并把数据传到其他数据库中。但实际应用中,由于各种 业务数据分散在异构的分布式环境中,数据源中数据会 随着时间的推移而发生变化,而
3、各个部门抽取的数据没 有统一的时间基准,抽取源、抽取算法、抽取级别也各 不相同,因此数据缺乏可信性,DSS的可信度和效果也 随之大大降低。 (2) 业务数据本身大多以原始的形式存储,难以 转换为有用的信息。事务处理的目的在于使业 务处理自动化和简单化,因此数据的表达上尽 可能简化以利于存储,即使是描述同一属性, 在不同的库中也可能有不同的表达方式。考虑 对某人“性别”的编码,在数据库A中编码为m, 而在数据库B编码为男,则DSS分析时该如何 采信这些数据。因此事务处理应用中数据的分 散性、数据的不一致性,增加了DSS的推理分 析问题的难度、速度以及正确性。 (3) 服务于联机事务处理(OLTP
4、)的关系数 据库是面向操作的而不是面向分析的,它 首先要求数据库系统具有实时响应能力, 另外数据库系统也是一个时变的系统。而 一个DSS分析与推理可能需要数秒或者数 小时,甚至更长的时间,如果其基于的数 据在不停的变化,会导致决策分析的求解 过程永远无法完成。因此本质上传统数据 库是很难为数据分析提供有意义的数据的 ,这二者本身就是一对矛盾体。 2 DSS所期望的理想数据源: 为了满足DSS分析,需要为它提供一个独 立、数据格式统一、集成了某一主题所需 的全部数据、在DSS分析期间相对稳定、 但又可与具体应用同步更新以保持“最新” 数据的数据库。 数据格式统一:是指该数据库中同一问题 的属性字
5、段都采用同一种表达方式来描述 。具有一致的命名规则,一致的变量单位 ,一致的编码结构和一致的特性描述等。 集成了某一主题所需的全部数据:是指用 户使用数据库辅助决策时所关心的重点问 题,每一个主题对应一个客观分析领域。 独立:是指该数据库与事务数据库隔离开 来,割断这两者间的相互牵制。事务数据 库必然要求能响应且实时响应对它的读写 事务操作,而DSS分析过程是对现有数据 的一个推理演算,它不需要修改数据库中 的数据,否则会影响其它DSS的分析过程 ,因此它对于DSS而言是一个只读型的数 据库。 在DSS分析期间相对稳定:是指数据一旦进入 数据库,一般情况下将被长期保留,变更很少 。 保持与具体
6、应用同步的“最新”数据:是指数据 库中存储的是一个时间段的数据,而不仅仅是 某一个时点的数据。当数据源的信息变更后, DSS期望的数据库应该也能反映这种变更,以 便基于正确的数据进行分析。 3 数据仓库的概念: 而DSS所期望的数据库正是数据仓库(Data Warehouse,DW)。它正是为了建立这种新的分析处 理环境而出现的一种数据存储和组织技术。这一概念是 90年代初期,由Prism Solution公司副总裁W.H.Inmon 在其里程碑式的著作Building the Data Warehouse 一书中提出的概念:“数据仓库是一个面向主题的 (Subject Oriented)、集
7、成的(Integrate)、相对稳定的 (Non-Volatile)、反映历史变化(Time Variant)的数据集 合,用于支持管理决策”。应该说这是一个在应用需求的 推动下,经过长期的孕育之后顺产出来的概念。不过我 们必须明白的是,其实早在这一概念诞生之前,人们就 已经开始尝试并构建数据仓库系统了。 4 数据仓库及其相关的定义: 定义1:数据仓库 W.H.Inmon将数据仓库 定义为“数据仓库是支持管理决策过程的 、面向主题的、集成的、随时间变化的、 持久的数据集合”。 定义2:实化视图 通过存储数据库中视图 的元组来对视图予以实化,可以在实化视 图中建立索引结构。因此,数据库访问实 化
8、视图比重新计算视图更快,实化视图像 一个cache可被快速访问的数据拷贝 。 定义3:数据仓库系统 一个完整的数据仓 库应用或产品应该是其专用数据仓库和数 据分析技术的结合,二者相互相承。我们 把一个具备了OLAP 的查询分析型工具、 DSS 的分析预测型工具和数据挖掘的挖 掘型工具的数据仓库定义为一个数据仓库 系统(Data Warehouse System)。 数据仓库系统是以数据仓库技术为基础, 以联机分析处理(OLAP)和数据挖掘( Data Mining)等工具为手段进行数据分 析处理的一整套解决方案。或者说数据仓 库系统以数据仓库为基础,通过查询工具 和分析工具,完成对信息的提取,
9、满足用 户进行管理和决策的各种需要的系统。 11.1.2 数据库与数据仓库 但从本质上而言,数据仓库与数据库又有 着天壤之别。与数据库的区别不仅仅是应 用目的上,同时也涉及到方法论。 数据仓库是20世纪90年代初提出的概念。数据 仓库是市场激烈竞争的产物,其目标是为用户 提供有效的决策技术。从定义及实现技术来看 ,数据仓库依然基于关系的数据库技术,但它 之所以能实现高层的数据加工处理,是因为它 支持支持在线分析 (Online Aralysis Processing ,OLAP)应用而传统数据库支持OLTP应用,这 也成为数据仓库与传统的数据库技术的最显著 区别。OLAP以支持复杂的分类、统计
10、查询为特 征,效率的主要衡量指标是查询吞吐量;OLTP 以支持原始数据的录入与修改和简单常规的查 询为特征,效率的主要衡量指标是事务的吞吐 量。 传统的数据库技术面向以日常事务处理为 主的OLTP应用,是一种操作型处理,其 特点是处理事务量大,但事务内容比较简 单且重复率高,人们主要关心的是响应时 间、数据安全性和完整性。而数据仓库技 术则是面向以决策支持DSS为目标的 OLAP应用,经常需要访问大量历史性、 汇总性和计算性数据,分析内容复杂,主 要是管理人员的决策分析。 OLTP和OLAP的主要区别概述如下: 用户和系统的面向性:OLTP是面向顾客 的,用于办事员、客户和信息技术专业人 员的
11、事务和查询处理;OLAP是面向市场 的,用于帮助经理、主管和分析人员等进 行数据分析。 数据内容:OLTP系统管理当前数据。这种数据 一般都太琐碎,难以用于决策。OLAP系统管理 大量历史数据,提供汇总和聚集机制,并在不 同的粒度级别存储和管理信息。 数据库设计:OLTP系统通常采用实体-联系 (ER)模型和面向应用的数据模式,而OLAP系统 通常采用星型或雪花模型和面向主题的数据模 式。 视图:OLTP系统主要关注一个企业或部门内部 的当前数据,而不涉及历史数据或不同组织的 数据; OLAP系统则通常跨越数据库模式的多 个版本,处理来自不同组织的信息和多个数据 存储集成的信息。此外,由于数据
12、量巨大, OLAP数据一般存放在多个存储介质上。 访问模式:OLTP系统的访问主要由短的原子事 务组成。而OLAP系统的访问由一些只读操作组 成,尽管可能是很复杂的查询操作。特 性OLTPOLAP特征操作处理信息处理面向事务分析用户办事员、DBA、数据库专业 人员知识工人(如经理、主管、分析员 ) 功能日常操作长期信息需求,决策支持DB设计基于E-R、面向应用星型/雪花、面向主题数据当前的,确保最新历史的,跨时间维护汇总原始的,高度详细汇总 的、统一的视图详细 ,一般关系汇总 的、多维的工作单位短的,简单 事务复杂查询存取读/写大多为读数据冗余非冗余性时常有冗余操作主关键字索引/散列大量扫描访
13、问记录 数 量数十个数百万用户数数千数百DB规模100MB到GB100GB到TB优先高性能,高可用性查询 吞吐量,响应时间度量事务吞吐量查询 吞吐量,响应时间11.1.3 数据仓库的特征 1. 面向主题的 基于传统关系数据库建立的各个应用系统,是面向应用 进行数据组织的;而数据仓库中的数据是面向主题进行 组织的。主题是指一个分析领域,是指在较高层次上企 业信息系统中的数据综合、归类并进行利用的抽象。所 谓较高层次是相对面向应用而言的,其含义是指按照主 题进行数据组织的方式具有更高的数据抽象级别。例如 保险公司建立数据仓库,所选主题可能是顾客、保险金 和索赔等,而按照应用组织的数据库则可能是汽车
14、保险 、生命保险和财产保险等。面向主题的数据组织方式, 就是在较高层次上对分析对象的数据一个完整、一致的 描述,能完整、统一地刻划各个分析对象所涉及的各项 数据以及数据之间的联系。 2. 集成的 数据仓库不是简单地将来自外部信息源的 信息原封不动接收,而必须进行必要的变 换和集成。在创建数据仓库时,信息集成 的工作包括格式转换、根据选择逻辑消除 冲突、运算、总结、综合、统计、加时间 属性和设置缺省值等工作。还要将原始数 据结构作一个从面向应用到面向主题的转 变。 3. 相对稳定的 数据仓库反映的是历史信息的内容,而不是处 理联机数据。事实上,任何信息都带有相应的 时间标记,但在文件系统或传统的
15、数据库系统 中,时间维的表达和处理或者是没有显示化或 者是很不自然的。在数据仓库中,数据一旦装 入其中,基本不会发生变化。数据仓库中的每 个数据项对应于一个特定时间。当对象某些属 性发生变化就会生成新的数据项。数据仓库一 般需要大量的查询操作,而修改和删除操作却 很少,通常只需要定期地加载、刷新。因此, 数据仓库的信息具有稳定性。 4. 反映历史变化 数据仓库中的数据通常包含历史信息,系 统记录了企业从过去某一时点(如开始应 用数据仓库的时点)到目前的各个阶段的 信息。通过这些信息可以对企业的发展历 程和未来趋势做出定量分析和预测。 5. 数据随时间变化 数据的不可更新是指数据仓库用户进行分析
16、处 理时不进行数据更新工作,不是说数据仓库从 开始到删除的整个生命周期都是永远不变的。 这一特征表现在以下3个方面: 数据仓库的数据随着时间变化而定期被更新, 每隔一段固定的时间间隔后,运作数据库系统 中产生的数据被抽取、转换以后集成到数据仓 库中,而数据的过去版本仍保留在数据仓库中 。 数据仓库的数据也有存储期限,一旦超过了这 个期限,过期数据就要被删除,只是数据仓库 内的数据实现要远远长于操作型环境中的数据 时限。11.1.4 数据仓库类型 根据数据仓库所管理的数据类型和它们所 解决的企业问题范围,一般可将数据仓库 分为企业数据仓库(EDW)、操作型数据库 (ODS)和数据集市(Data Mart)3种类型。 企业数据仓库:它既含有大量详细的数据 ,也含有大量累赘的或聚集的数据,这些 数据具有不易改变性和面向历史性。这种 数据仓库被用来进行涵盖多种企业领域上 的战略或战术上的决策,是一种通用的数 据仓库类型。 操作型数据库:既可以被用来针对工作数