数据仓库与操作型数据库的关系
一、从数据库到数据仓库
传统的数据库技术是以单一的数据资源,即数据库为中心,进行联机事务处理(OLTP)、批处理、决策分析等各种数据处理工作,主要的划分为两大类:操作型处理和分析型处理(或信息型处理)。
注:传统数据系统的主要任务是执行联机事务和查询处理,这种系统称为联机事务处理系统(OLTP)。它们涵盖了一个组织的大部分日常操作,如购买、库存、制造、银行、工资、注册、记账等。另一方面,数据仓库系统在数据分析和决策支持方面提供服务,这种系统称为联机分析处理系统(OLAP)。
两个系统的主要区别:
(1)数据内容:数据库系统管理当前数据。通常,这种数据太琐碎,难以用于决策。数据仓库系统管理大量历史的、存档的、归纳的、计算的的数据,提供汇总和聚集机制,并在不同的粒度级别上存储和管理信息,这种特点使得系统容易用于“见多识广”的决策。
(2)数据目标:数据库系统是面向业务操作,用于办事员、客户和信息技术专业人员的事物和查询处理。数据仓库是面向主题的,用于知识工人(包括经理、主管和分析人员)的决策分析。
(3)数据特性:数据库系统存储的是当前数据,数据是动态变化的,按字段进行更新操作。数据仓库中数据是批量载入的、静态的,系统顶起执行提取过程为数据仓库增加数据,这些数据一旦加入,一般不再从系统中删除。
(4)数据结构:数据库系统采用面向应用的数据库设计,以高度结构化和复杂的形式组织数据,以适应复杂的事务操作计算的需求。数据仓库通常采用面向主体的星型或雪花数据组织模式,以适应分析决策,数据结构简单。
二、数据仓库为什么是分离的?
数据仓库的查询通常是复杂的,涉及大量数据在汇总级的计算,可能需要特殊的数据组织、存取方法和基于多维视图的实现方法。对数据记录进行只读访问,以进行汇总和聚集。
如果OLTP和OLAP都在操作型数据库上运行,会大大降低数据库系统的吞吐量。
数据仓库与操作型数据库分离是由于这两种系统中数据的结构、内容和用法都不相同。
注:事务处理和分析处理数据环境的分离
数据库系统作为数据管理手段,主要用于事务处理。在这些数据库中已经保存了大量的日常业务数据。传统的决策支持系统(DSS)一般是直接建立在这种事务处理环境上的。数据库技术一直力图使自己能胜任从事务处理、批处理到分析处理的各种类型的信息处理任务。尽管数据库在事务处理方面的应用获得了巨大的成功,但它对分析处理的支持一直不能令人满意,这也正是产生“蜘蛛网”问题的原因所在。因此,要解决“蜘蛛网”问题,必须将用于事务处理的数据环境和用于分析处理的数据环境分离。
这样,数量处理被分为事务型处理和分析型处理两类。事务型处理以传统的数据库为中心进行企业的日常业务处理。比如电信部门的计费数据用于记录客户的通信消费情况,银行的数据用于记录客户的账号、密码、存入和支出等一系列业务行为。
分析型处理以数据仓库为中心分析数据背后的关联和规律,为企业的决策提供可靠有效的依据。比如,通过超市近期数据进行分析可以发现近期畅销的产品,从而为公司的采购部门提供直到信息。
事务处理的使用人员通常是企业的具体操作人员,处理数据通常是企业业务的细节信息,其目标是实现企业的业务运营;而分析处理的使用人员通常是企业的中高层管理者,或者从事数据分析的工程师。
事务处理和信息分析数据环境的分离划清了数据处理的分析型环境与事务型环境之间的界限,从而由原来以单一数据库为中心的数据环境发展为以数据库为中心的事务处理系统和以数据仓库为基础的分析处理系统。企业的生产环境,也由以数据库为中心的环境发展为以数据库和数据仓库为中心的环境。
综上所属,在事务处理环境中直接构建分析处理应用是不合适的,要提高分析和决策的效率和有效性,分析型处理及其数据必须与操作性处理及其数据相分离。
三、数据仓库与操作型数据库的对比
1、数据仓库
面向主题;容量巨大;数据是综合的或提炼的;保存历史的数据;通常数据是不可更新的;操作需求是临时决定的;一个操作存取一个数据集合;数据常冗余;操作相对不频繁;所查询的是经过加工的数据;支持决策分析;决策分析需要历史数据;需做复杂的计算;服务对象为企业高层决策人员。
2、操作型数据库
面向应用;容量相对较小;数据是详细的;保存当前的数据;数据是可更新的;操作需求是事先可知的;一个操作存取一个记录;数据非冗余;操作较频繁;所查询的是原始数据;支持事务处理;事务处理需要当前数据;鲜有复杂的计算;服务对象为企业业务处理方面的工作人员。

