首页 理论教育 数据仓库简介

数据仓库简介

时间:2023-05-23 理论教育 版权反馈
【摘要】:数据仓库概念始于20 世纪80 年代中期,首次出现是在号称“数据仓库之父”William H.Inmon的《建立数据仓库》一书中。根据该定义,数据仓库具备以下4 个关键特征:图7.5数据仓库体系化环境①面向主题。因此,数据仓库排除了对决策无用的数据,而提供了特定主题的简明视图。①企业数据仓库。此种数据仓库被用来进行涵盖多种企业领域上的战略或战术上的决策。数据的抽取是数据进入仓库的入口。

数据仓库简介

人们在日常生活中常常会遇到这样的情况:超市的经营者希望将经常被同时购买的商品放在一起,以增加销售银行想了解存款的用户希望投资什么样的基金保险公司想知道购买保险的客户一般具有哪些特征;医学研究人员希望从已有的成千上万份病历中找出患某种疾病的病人的共同特征,从而为治愈这种疾病提供一些帮助。对于此类问题,如果利用现有信息管理系统中的数据分析工具是无法给出答案的。因为无论是查询、统计还是报表,其处理方式都是对指定的数据进行简单的数字处理,而不能对这些数据所包含的内在信息进行提取。随着信息管理系统的广泛应用和数据量激增,人们希望能够提供更高层次的数据分析功能。为此,数据仓库应运而生。

1)从数据库到数据仓库

传统的数据库技术是以单一的数据资源,即数据库为中心,进行事务处理、批处理决策分析等各种数据处理工作,主要划分为两大类:操作型处理和分析型处理(或信息型处理)。操作型处理也叫事务处理,是指对数据库联机的日常操作,通常是对一个或一组记录的查询和修改,主要为企业的特定应用服务的,注重响应时间,数据的安全性和完整性;分析型处理则用于管理人员的决策分析,经常要访问大量的历史数据。而传统数据库系统优于企业的日常事务处理工作,难于实现对数据的分析处理,已经无法满足数据处理多样化的要求。操作型处理和分析型处理的分离成为必然。

近年来,随着数据库技术的应用和发展,人们尝试对DB 中的数据进行再加工,形成一个综合的、面向分析的环境,以更好支持决策分析,从而形成了数据仓库技术(Data Warehousing,DW)。作为决策支持系统(Decision-making Support System,DSS),数据仓库系统包括:数据仓库技术、联机分析处理技术(On-Line Analytical Processing,OLAP)和数据挖掘技术(Data Mining,DM)。

数据仓库弥补了原有的数据库的缺点,将原来的以单一数据库为中心的数据环境发展为一种新环境:体系化环境,如图7.5所示。

2)数据仓库定义

数据仓库(Data Warehouse)这个词听起来很形象,但容易产生误解,很容易理解为大量数据库的存放地。那么,数据仓库究竟是什么概念呢?

数据仓库概念始于20 世纪80 年代中期,首次出现是在号称“数据仓库之父”William H.Inmon的《建立数据仓库》一书中。随着人们对大型数据系统研究、管理、维护等方面的深刻认识和不断完善,在总结、丰富、集中多行企业信息的经验之后,为数据仓库给出了更为精确的定义,即“数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合”。根据该定义,数据仓库具备以下4 个关键特征:

图7.5 数据仓库体系化环境

①面向主题(Subject-oriented)。数据仓库通常围绕一些主题,如“产品”“销售商”“消费者”等来进行组织。数据仓库关注的是决策者的数据建模与分析,而不针对日常操作和事务的处理。因此,数据仓库排除了对决策无用的数据,而提供了特定主题的简明视图。

②集成(Integrated)。数据仓库通常是结合多个异种数据源构成的,异种数据源可能包括关系数据库、面向对象数据库、文本数据库、Web数据库、一般文件等。

③时变(Time-variant)。数据存储从历史的角度提供信息,数据仓库中包含时间元素,它所提供的信息总是与时间相关联的。数据仓库中存储的是一个时间段的数据,而不仅仅是某一个时刻的数据。

④不可修改(Nonvolatile)。数据仓库总是与操作环境下的实时应用数据物理地分离存放,因此不需要事务处理、恢复和并发控制机制。数据仓库里的数据通常只需要两种操作:初始化载入和数据访问。因此其数据相对稳定,极少更新或根本不更新。

综上所述,数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实现,并存放企业战略决策所需信息。数据仓库也常常被看作一种体系结构,通过将异种数据源中的数据集成在一起而构造,支持结构化的和专门的查询、分析报告和决策制订。

3)数据仓库的类型

根据数据仓库所管理的数据类型和它们所解决的企业问题范围,一般可将数据仓库分为下列3 种类型:企业数据仓库(EDW)、操作型数据库(ODS)和数据市集(Data Mart)。

①企业数据仓库(EDW)。企业数据仓库即通用数据仓库,它既含有大量详细的数据,也含有大量累赘的或聚集的数据,这些数据具有不易改变性和面向历史性。此种数据仓库被用来进行涵盖多种企业领域上的战略或战术上的决策。

②操作型数据库(ODS)。操作型数据库既可以被用来针对工作数据作决策支持,又可用作将数据加载到数据仓库时的过渡区域。与EDW相比较,ODS 有下列特点:ODS 是面向主题和面向综合的;ODS是易变的;ODS 仅仅含有目前的、详细的数据,不含有累计的、历史性的数据。

③数据集市(Data Mart)。数据集市是数据仓库的一种具体化,它可以包含轻度累计、历史的部门数据,适合特定企业中某个部门的需要。几组数据集市可以组成一个EDW(在以下部分将会重点提到)。

随着数据仓库发展的需求,软件工具升级相当快,新产品也层出不穷,为了便于追踪其技术发展和更好地选择相关的工具,数据仓库的构造者应该广泛地收集这方面的文件和数据,以便作出最佳的选择。

4)数据仓库的技术与传统数据库的比较

与关系数据库不同的是,数据仓库并没有严格的数学理论基础,也没有成熟的基本模式,且更偏向于工程,具有强烈的工程性。因此,在技术上人们习惯于从工作过程等方面来分析,并按其关键技术分为数据的抽取、存储与管理以及数据的表现等3 个基本方面。

①数据的抽取。数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互联、复制、增量、转换、调度和监控等几个方面的处理。在数据抽取方面,未来的技术发展将集中在系统功能集成化方面,以适应数据仓库本身或数据源的变化,使系统更便于管理和维护。

②数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库的特性,也决定了其对外部数据的表现形式。数据仓库管理所涉及的数据量比传统事务处理大得多,且随时间的推移而快速累积。在数据仓库的数据存储和管理中需要解决的是如何管理大量的数据、如何并行处理大量的数据、如何优化查询等。目前,许多数据库厂家提供的技术解决方案是扩展关系型数据库的功能,将普通关系数据库改造成适合担当数据仓库的服务器。(www.xing528.com)

③数据展现。数据表现实际上相当于数据仓库的门面,其性能主要集中在多维分析、数理统计和数据挖掘方面。而多维分析又是数据仓库的重要表现形式,近几年来互联网的发展,使得多维分析领域的工具和产品更加注重提供基于Web 前端联机分析界面,而不仅仅是在网上发布数据。在数据展现方面主要方式有:查询、报表、可视化、统计和挖掘。

传统的关系型数据库遵循一致的关系型模型,其中的数据(记录)以表格方式存储,并且能用统一的结构化查询语言(Structural Query Language,SQL)进行数据查询,因此它的应用常被称为联机交易处理(OLTP)。其重点在于完成业务处理,及时给予客户响应。关系型数据库能够处理大型数据库,但不能将其简单地堆砌就直接作为数据仓库来使用。

数据仓库主要工作的对象为多维数据,因此又称为多维数据库。多维数据库的数据以数组方式存储,既没有统一的规律可循,也没有统一的多维模型可循,多维数据库只能按其所属类别进行归类。以应用而言,多维数据库应该具备极强的查询能力,多维数据库中存储的信息既多又广,但由于其完成的是一种OLAP,因此并不追求瞬时的响应时间,在有限的时间中给予响应即被认可。实际上,OLAP 包含交互式的数据查询,伴随着多种分析方法,例如下钻或成功地钻入到最底层的细节信息上。因此数据仓库中的信息,尽管是多维的,仍然可以用具体的表格表示。

尽管数据仓库与传统数据库之间存在着如此大的差异,但设计数据仓库并不是完全另起炉灶,而是利用现有的传统处理数据从中进行信息的综合,从而构造出满足不同需求的数据仓库。即数据从动态的、目前事件驱动的传统工作数据流向静态的、历史性质的数据仓库。从理论上说,从工作数据中战略性地引入到期的数据可以完成这种转变,但是由于受到实际存储容量和技术的限制,实际上是不可能的,而必须从工作数据中分离和筛选数据进入到数据仓库中。

总之,数据仓库并非是一个仅仅存储数据的简单信息库,因为这实际上与传统数据库没有两样。数据仓库实际上是一个“以大型数据管理信息系统为基础的、附加在这个数据库系统之上的、存储了从企业所有业务数据库中获取的综合数据的、并能利用这些综合数据为用户提供经过处理后的有用信息的应用系统”。如果说传统数据库系统的重点与要求是快速、准确、安全、可靠地将数据存进数据库中的话,那么数据仓库的重点与要求就是能够准确、安全、可靠地从数据库中取出数据,经过加工转换成有规律的信息之后,再供管理人员进行分析使用。

5)联机事务处理(OLTP)

联机事务处理(On-Line Transaction Processing,OLTP)是传统的关系型数据库的核心应用,主要执行基本的插入、删除等联机事务和查询处理,其基本任务就是及时、安全地将当前事务所产生的记录保存下来。在大多数情况下,OLTP 涵盖了一个组织的大部分日常操作。例如在一个银行交易管理系统中,每天大量的操作都限于增加新账号、删除旧账号、更改账号中的金额数据、查询各户账号余额等,这些都是OLTP 负责实现的功能。

为实现OLTP,在外部接口部分,DBMS 使用标准的SQL数据库语言。目前所有的主流关系型数据库系统毫无例外地均支持SQL语言。用户可通过调用SQL语言启动、执行各种OLTP 操作。

在DBMS的内部则实现了事务管理,支持事务的并发和恢复,并使每一事务都满足所谓的ACID特性。

原子性(Atomicity)。事务是数据库的逻辑工作单位,事务中的诸操作要么都做,要么都不做。

②一致性(Consistency)。事务的执行结果必须是使数据库从一个一致性状态转换到另一个一致性状态。

③隔离性(Isolation)。各个事务间的操作不相互干扰,无时序的约束要求,允许事务的并发执行。

④持续性(Durability)。事务一经提交,对数据库的影响将是永久性的,即已经完成的事务结果不能丢失,即使破坏后也可恢复。

6)数据仓库的体系结构

IBM、Oracle等厂商都提出了自己的数据仓库结构,但严格说来,任何一个数据仓库结构都是从一个基本框架发展而来,实现时再根据分析处理的需要具体增加一些部件。其中斯坦福大学“WHPS”课题组提出的一个基本的数据仓库模型,如图7.6所示。

为了能够将已有的数据源提取出来,并组织成可用于决策分析所需的综合数据的形式,一个数据仓库的基本体系结构中应有以下几个基本组成部分。

图7.6 数据仓库基本体系结构

①数据源。指为数据仓库提供最底层数据的运作数据库系统及外部数据。

②监视器。负责感知数据源发生的变化,并按数据仓库的需求提取数据。

③集成器。将从运作数据库中提取的数据经过转换、计算、综合等操作,集成到数据仓库中。

④数据仓库。存储已经按企业级视图转换的数据,供分析处理用。根据不同的分析要求,数据按不同的综合程度存储。数据仓库中还应存储元数据,其中记录了数据的结构和数据仓库的任何变化,以支持数据仓库的开发和使用。

⑤客户应用。是供用户对数据仓库中的数据进行访问查询,并以直观的方式表示分析结果的工具。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈