
| 出版日期:2005-06-10 总期号:220 本年期号:11 |
|
数据仓库 vs. 数据库
■ 杨健 1970年,E.F.Codd提出了关系数据库理论,在此基础上,出现了关系数据库管理系统,成为当今数据库应用的主体。上世纪九十年代以来,随着对数据分析和决策支持需求的增长,数据仓库技术应运而生。1992年,数据仓库之父Bill.Inmon在《Building The Data Warehouse》中对数据仓库的定义是:数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策和信息的全局共享。数据仓库用于支持管理和决策,面向分析型数据处理,它不同于企业现有的面向交易的操作型数据库;数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据。 从狭义的数据引擎角度看,数据库系统,如Oracle、DB2、Informix、SQL Server等,作为各种数据库应用的数据存储管理系统,保存了大量的业务数据或财务数据。在很多情况下,它们也作为数据仓库应用的存储系统。专业的数据仓库引擎则是专门为数据仓库应用而设计的,如NCR Teradata、Informix Redbrick、Sybase IQ等,以及Oracle和DB2的扩展产品,它们有很多特有的设计方式。数据仓库系统对数据引擎有一些特殊要求,如强调数据查询效率而不是数据更新效率、查询的数据量巨大、查询复杂。随着数据仓库应用逐渐向企业全员的发展趋势,大量的在线查询需求日益加强,对数据的大量并发访问和快速响应时间的要求也成为数据仓库引擎必须具备的特性。为适应这些要求,专门的数据仓库引擎进行了独特的设计,例如按列存储的方式和特殊的索引设计。 从广义的数据仓库应用角度看,数据库应用主要用于业务处理,即传统的联机事务处理,其支持的是对数据的快速增加、修改和删除,保证事务的完整性,以及对大量用户的并发支持等应用。而数据仓库应用则面向联机分析处理,包括对多种数据源的集成(ETL)、数据存储、多维数据的生成、数据展现、灵活分析和数据挖掘等。 数据仓库系统通常包含数据源、数据存储、OLAP服务和前端应用四个部分,而元数据管理则贯穿其中。数据要从数据源经过数据抽取、清洗转换、加载的过程放到数据仓库中来。 我们经常提到的数据仓库概念,更多的是指数据仓库应用。现在已经有很多成熟的解决方案,以及覆盖数据质量、ETL、数据引擎、OLAP服务、数据展现、元数据管理等各个数据仓库应用环节的功能强大的工具。 |
|||||||||||||||||||||||