第 16 章 数据仓库与联机分析处理技术
第 章已经提到,计算机系统中存在着两类不同的数据处理工作:操作型处理和分析型处理,也
称作联机事务处理(和联机分析处理(。
操作型处理也叫事务处理,是指对数据库联机的日常操作,通常是对一个或一组记录的査询和修
改,如火车售票系统、银行通存通兑系统、税务征收管理系统等。这些系统要求快速响应用户请求,
对数据的安全性、完整性以及事务吞吐量要求很高。
分析型处理是指对数据的查询和分析操作,通常是对海量的历史数据查询和分析,如金融风险预
测预警系统、证券股市违规分析系统等。这些系统要访问的数据量非常大,査询和分析的操作十分复
杂。
和 两者之间的差异使得传统的数据库技术不能同时满足两类数据的处理要求,因此 ,
世纪 年代数据仓库(技术就应运而生了。数据仓库的建立将操作型处理和
分析型处理区分开来。传统的数据库技术为操作型处理服务,数据仓库为分析型处理服务。二者各司
其职,泾渭分明。越来越多的企业认识到数据仓库能够带來效益,逐步在原有数据库基础之上建立起
了自己的数据仓库系统。
随着大数据时代的来临,数据仓库对于企业决策的支持作用越来越大。由此,数据仓库也成为各
大厂商看重并着力发展的业务领域。、、 等厂商纷纷采用各种软硬件技术(如
并行处理、列存储等),将其产品扩展到 级数据量。另外,新兴的互联网企业也在尝试利用一些新
技术(如 开发能支持大规模非结构化数据处理的数据仓库解决方案,如 !" 在
# 基础上开发出 #$% 系统,用来分析点击流和日志文件。
16.1 数据仓库技术
数据仓库和数据库只有一字之差,似乎是一样的概念,但实际则不然。数据仓库是为了构建新的
分析处理环境而出现的一种数据存储和组织技术。由于分析处理和事务处理具有极不相同的性质,因
而 两 者 对 数 据 也 有 着 不 同 的 要 求 。 数 据 仓 库 概 念 的 创始人 &#&'(' 在 其 《 $$')
》一书中列出了操作型数据与分析型数据之间的区别,具体如表 *& 所示。
表 *& 操作型数据和分析型数据的区别
操作型数据 分析型数据
细节的 综合的,或提炼的
在存取瞬间是准确的 代表过去的数据
可更新 不可更新
操作需求事先可知道 操作需求事先不知道
生命周期符合软件开发生命周期(+, 完全不同的生命周期
对性能要求高 对性能要求宽松
一个时刻操作一个元组 一个时刻操作一个集合
事务驱动 分析驱动
面向应用 面向分析