数据仓库的简介
1. 数据仓库的概念
数据仓库领域的权威W.H.Inmon给出了数据仓库的一个简短而全面的定义:数据仓库是一个面向主题、集成、时变、非易失的数据集合,是支持管理部门的决策过程。根据该定义,数据仓库具备以下四个关键特征:
1.1 面向主题(Subject Oriented)的数据集合
数据仓库通常围绕一些主题,如“产品”、“销售商”、“消费者”等来进行 组织。数据仓库关注的是决策者的数据建模与分析,而不针对日常操作和事务的处理。因此,数据仓库提供了特定主题的简明视图,排除了对于决策无用的数据。
1.2 集成(Integrated)的数据集合
数据仓库通常是结合多个异种数据源构成的,异种数据源可能包括关系数据库、面向对象数据库、文本数据库、Web数据库、一般文件等。
1.3 时变(Time Variant)的数据集合
数据存储从历史的角度提供信息,数据仓库中包含时间元素,它所提供的信息总是与时间相关联的。数掘仓库中存储的是一个时间段的数据,而不仅仅是某一个时刻的数据。
1.4 非易失(Nonvolatile)的数据集合
数据仓库总是与操作环境下的实时应用数据物理地分离存放,因此不需要事务处理、恢复和并发控制机制。数据仓库里的数据通常只需要两种操作:初始化载入和数据访问,因此其数据相对稳定,极少或根本不更新。
综上所述,数据仓库是一种语义上一致的数据存储,它充当决策支持数据模型的物理实现,并存放企业战略决策所需信息。数据仓库也常常被视为一种体系结构,通过将异种数据源中的数据集成在一起而构成,支持结构化和专门的查询、分析报告和决策制定。
2 数据仓库的类型
数据仓库的类型根据数据仓库所管理的数据类型和它们所解决的企业问题范围,一般可将数据仓库分为下列3种类型:企业数据仓库(EDW)、操作型数据库(ODS)和数据市集(DataMart)。①企业数据仓库为通用数据仓库,它既含有大量详细的数据,也含有大量累赘的或聚集的数据,这些数据具有不易改变性和面向历史性。此种数据仓库被用来进行涵盖多种企业领域上的战略或战术上的决策。②操作型数据库既可以被用来针对工作数据做决策支持,又可用做将数据加载到数据仓库时的过渡区域。与EDW相比较,ODS有下列特点:ODS是面向主题和面向综合的;ODS是易变的;ODS仅仅含有目前的、详细的数据,不含有累计的、历史性的数据。③数据市集是数据仓库的一种具体化,它可以包含轻度累计、历史的部门数据,适合特定企业中某个部门的需要。几组数据市集可以组成一个EDW(在以后部分将会重点提到)。随着数据仓库发展的需求,软件工具升级相当快,新产品也层出不穷。为了便于追踪其技术发展和更好地选择相关的工具,数据仓库的构造者应该广泛地收集这方面的文件和数据,以便做出最佳的选择。
3 数据仓库与传统数据库的比较
传统的关系型数据库RDB遵循一致的关系型模型,其中的数据(记录)以表格的方式存储,并且能用统一的结构化查询语言(Structual Query Language,SQL)进行数据查询,因此它的应用常被称为联机交易处理(OLTP),其重点在于完成业务处理,及时给予客户响应。关系型数据库能够处理大型数据库,但不能将其简单地堆砌就直接作为数据仓库来使用。数据仓库主要工作的对象为多维数据,因此又称为多维数据库。多维数据库的数据以数组方式存储,既没有统一的规律可循,也没有统一的多维模型可循,它只能按其所属类别进行归类。以应用而言,多维数据库应该具备极强的查询能力,多维数据库中存储的信息既多又广,但由于其完成的是一种联机事物分析(OLAP),因此并不追求瞬时的响应时间,在有限的时间中给予响应即被认可。实际上,OLAP包含交互式的数据查询,伴随着多种分析方法,例如下钻或成功地钻入到最底层的细节信息上。因此数据仓库中的信息,尽管是多维的,仍然可以用具体的表格表示。尽管数据仓库与传统数据库之间存在着如此大的差异,但设计数据仓库并不是完全另起炉灶,而可利用现有的传统处理数据,从中进行信息的综合,从而构造出满足不同需求的数据仓库。即数据从动态的、目前事件驱动的传统工作数据流向静态的、历史性质的数据仓库。从理论上说,从工作数据中战略性地引入到期的数据可以完成这种转变,但是由于受到实际存储容量和技术的限制,这实际上是不可能的。因此必须从工作数据中分离和筛选数据进入到数据仓库中。鉴于以上各种因素,为保证OLAP的性能,必须将数据仓库和传统工作的数据相分离。