从数据库到数据仓库
传统的数据库技术是以单一的数据资源即数据库为中心,进行事务处理、批处理、决策分析等各种数据处理工作,主要划分为两大类:操作型处理和分析型处理(或信息型处理)。操作型处理也叫事务处理,是指对数据库联机的日常操作,通常是对一个或一组记录的查询和修改,主要为企业的特定应用服务,注重响应时间、数据的安全性和完整性;分析型处理则用于管理人员的决策分析,经常要访问大量的历史数据。而传统数据库系统优于企业的日常事务处理工作,而难于实现对数据分析处理的要求,已经无法满足数据处理多样化的要求,操作型处理和分析型处理的分离成为必然。
近年来,随着数据库技术的应用和发展,人们尝试对DB中的数据进行再加工,形成一个综合的、面向分析的环境,以更好地支持决策分析,从而形成了数据仓库技术(Data Warehousing, DW)。
作为决策支持系统(Decision-making Support System,DSS),数据仓库系统包括:
(1)数据仓库技术。
(2)联机分析处理技术(On-Line Analytical Processing, OLAP)。
(3)数据挖掘技术(Data Mining, DM)。
数据仓库弥补了原有的数据库的缺点,将原来的以单一数据库为中心的数据环境发展为一种新环境:体系化环境。
什么是数据仓库
业界公认的数据仓库概念创始人W.H.Inmon在《建立数据仓库》一书中对数据仓库的定义是:数据仓库就是面向主题的、集成的、不可更新的稳定性、随时间不断变化的数据集合,用以支持经营管理中的决策制定过程。
数据仓库中的数据面向主题,与传统数据库面向应用相对应。主题是一个在较高层次上将数据归类的标准,每一个主题对应一个宏观的分析领域。数据仓库的集成特性是指在数据进入数据仓库之前,必须经过数据加工和集成,这是建立数据仓库的关键步骤。数据仓库的稳定性是指数据仓库反映的是历史数据的内容,而不是日常事务处理产生的数据,数据经加工和集成进入数据仓库后是极少或根本不修改的:数据仓库是不同时间的数据集合,它要求数据仓库中的数据保存时限能满足进行决策分析的需要,而且数据仓库中的数据都要标明该数据的历史时期。
数据仓库最根本的特点是逻辑地存放数据,而且这些数据并不是最新的、专有的,而是来源于其他数据库。数据仓库的建立并不是要取代数据库,而是要在一个较全面和完善的信息应用的基础上,用于支持高层决策分析;而事务处理数据库在企业的信息环境中承担的是日常操作性的任务。数据仓库是数据库技术的一种新的应用,而且到目前为止,数据仓库还是用关系数据库管理系统来管理其中的数据。
数据仓库的产生
20世纪80年代初到90年代初,联机事务处理一直是数据库应用的主流,然而当联机事务处理系统应用到一定阶段后,用户便发现单靠拥有联机事务处理己经不足以获得市场竞争的优势,他们需要对其自身业务的运作及整个市场相关行业的情况进行分析,从而做出有利的决策。这种决策需要对大量的业务数据包括历史业务数据进行分析才能得到,在如今这样激烈的市场竞争环境下,这种基于业务数据的决策分析,我们把它称为联机分析处理,比以往任何时候都显得重要。如果说传统联机事务处理张调的是更新数据库—向数据库中添加信息,那么联机分析处理就是从数据库中获取信息、利用信息。
事实上,将大量的业务数据应用于分析和统计原本是一个非常简单和自然的想法,但在实际的操作中,人们却发现要获得有用的信息并非想象的那么容易,这主要表现在以下几点:
(1)所有联机事务处理强调的是密集的数据更新处理性能和系统的可靠性,并不关心数据查询的方便与快捷。联机分析和事务处理对系统的要求不同,同一个数据库在理论上都难以做到两全。
(2)业务数据往往存放于分散的异构环境中,不易统一查询访问,而且还有大量的历史数据处于脱机状态,形同虚设。
(3)业务数据的模式针对事务处理系统而设计,数据的格式和描述方式并不适合非计算机专业人员进行业务上的分析和查询。
针对这一问题,人们设想专门为业务的统计分析建立一个数据中心,它的数据来自于联机的事务处理系统、异构的外部数据源、脱机的历史业务数据。这个数据中心是一个联机的系统,它专门为分析统计和决策支持应用服务,通过它可以满足决策支持和联机分析应用所要求的一切,这个数据中心就叫做数据仓库。
数据仓库的概念一经出现,就首先被用于金融、电信、保险等主要传统数据处理密集型行业。国外许多大型的数据仓库在1996-1997年建立。那么,什么样的行业最需要和可能建立数据仓库呢?有两个基本条件:第一,该行业有较为成熟的联机事务处理系统,它为数据仓库提供客观条件;第二,该行业面临市场竟争的压力,它为数据仓库的建立提供外在的动力。