数据仓库是一种资讯系统的资料储存理论,此理论强调利用某些特殊资料储存方式,让所包含的资料,特别有利于分析处理,以产生有价值的资讯并依此作决策。利用数据仓库方式所存放的资料,具有一旦存入,便不随时间而更动的特性,同时存入的资料必定包含时间属性,通常一个数据仓库皆会含有大量的历史性资料,并利用特定分析方式,自其中发掘出特定资讯。
数据仓库的主要功能乃是将组织透过资讯系统之联机交易处理经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,作一有系统的分析整理,以利各种分析方法,例如线上分析处理及数据挖掘之进行,并且进而支持例如决策支持系统及主管资讯系统之建立,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助建构商业智能。
数据仓库的特性有:
- 主题导向(Subject-Oriented):有别于一般OLTP系统,数据仓库的资料模型设计,着重将资料按其意义归类至相同的主题区(subject area),因此称为主题导向。举例如Party、Arrangement、Event、Product等。
- 集成性(Integrated):资料来自企业各OLTP系统,在数据仓库中是集成过且一致的。
- 时间差异性(Time-Variant):资料的变动,在数据仓库中是能够被纪录以及追踪变化的,有助于能反映出能随着时间变化的资料轨迹。
- 不变动性(Nonvolatile):资料一旦确认写入后是不会被取代或删除的,即使资料是错误的亦同。(i.e.错误的后续修正,便可因上述时间差异性的特性而被追踪)
[描述来源:维基百科 URL:https://en.wikipedia.org/wiki/Data_warehouse]
发展历史
数据仓库的概念可以追溯到20世纪80年代后期,当时IBM的研究人员Barry Devlin和Paul Murphy开发了“业务数据仓库”。本质上,数据仓库概念旨在为从操作系统到决策支持环境的数据流提供架构模型。该概念试图解决与该流程相关的各种问题,主要是与其相关的高成本。在没有数据仓库架构的情况下,需要大量冗余来支持多个决策支持环境。在大型企业中,多个决策支持环境通常独立运行,兵器每个环境都为不同的用户服务,但他们通常需要大量相同的存储数据,针对每个环境的从各种来源收集、清理和集成数据的过程也通常相似。此外,随着新的决策支持要求的出现,操作人员也经常需要对系统进行更新。这即是数据仓库设计的主要思路。
早期数据仓库的主要发展是:
20世纪60年代 - General Mills 和Dartmouth College在一个联合研究项目中,制定了术语维度(dimensions)和事实(facts)。
20世纪70年代 - ACNielsen 和 IRI为零售业提供维度数据。
1975年 - Sperry Univac推出MAPPER(MAintain,Prepare,Produce Executive Reports),这是一个数据库管理和报告系统,其中包括世界上第一个第一个专为建设信息中心而设计的平台4GL(当代数据仓库技术的先驱)
1983年 - Teradata推出了专为决策支持而设计的DBC / 1012数据库计算机。
1984年 - 由David Liddle和Don Massaro创立的Metaphor计算机系统公司为业务用户发布了硬件/软件包和GUI,以创建数据库管理和分析系统。
1985年 - Sperry Corporation 在信息中心发表了一篇文章(Martyn Jones和Philip Newman),他们在信息中心的背景下引入了术语MAPPER数据仓库。
1988年 - Barry Devlin和Paul Murphy发表了一篇文章“An architecture for a business and information system”,他们在这里引入了“商业数据仓库”一词。
1990年 - 由Ralph Kimball创立的Red Brick Systems推出了Red Brick Warehouse,这是一个专门用于数据仓库的数据库管理系统。
1991年 - 由Bill Inmon创立的Prism Solutions公司介绍了Prism Warehouse Manager,这是一个用于开发数据仓库的软件。
1992年 - Bill Inmon发布了“Building the Data Warehouse”一书。
1995年 - 促进数据仓库的营利性组织Data Warehousing Institute成立。
1996年 - Ralph Kimball出版了“The Data Warehouse Toolkit”一书。
1997年,Himanshu Gupta为数据仓库中选择视图的一般问题开发了一个理论框架。针对一般数据仓库场景的一些重要特殊情况,他们提出竞争多项式时间启发式选择视图以优化总查询响应时间,即:(i)AND视图,其中每个查询/视图具有唯一的评估和(ii)OR视图,其中任何视图都可以从其相关视图中的任何一个计算,例如数据立方体。
2000年 - Dan Linstedt在公共领域发布数据库建模,于1990年作为Inmon和Kimball的替代品,提供来自多个操作系统的数据的长期历史存储,重点是跟踪,审计和改变源数据模型。
2010年,Raghotham Murthy等人介绍了Hive,一种基于Hadoop构建的开源数据仓库解决方案。 Hive支持以类似SQL的声明性语言表示的查询 - HiveQL,它们被编译为使用Hadoop执行的map-reduce作业。此外,HiveQL使用户能够将自定义map-reduce脚本插入查询中。该语言包括一个类型系统,它支持包含基本类型的表,像数组和映射的集合,以及相同的嵌套组合。底层IO库可以扩展为以自定义格式查询数据。 Hive还包括一个系统目录 - Metastore - 包含模式和统计信息,它们在数据探索,查询优化和查询编译中很有用。在Facebook中,Hive仓库包含数万个表并存储超过700TB的数据,并且每月有超过200个用户广泛用于报告和临时分析。
2012年 - Bill Inmon开发并将其技术命名为文本消岐(textual disambiguation)。文本消歧将上下文应用于原始文本,并将原始文本和上下文重新格式化为标准数据库格式。一旦原始文本通过文本消歧传递,就可以通过标准商业智能技术轻松有效地访问和分析它。文本消歧是通过执行文本ETL(extract, transform, load)来完成的。在找到原始文本的任何地方(例如文档,Hadoop,电子邮件等),文本消歧都很有用。
[描述参考:维基百科]
主要事件
年份 | 事件 | 相关论文/Reference |
1988 | Barry Devlin和Paul Murphy发表了一篇文章“An architecture for a business and information system”,他们在这里引入了“商业数据仓库”一词 | Devlin, B. A.; Murphy, P. T. (1988). An architecture for a business and information system. IBM Systems Journal. 27: 60–80. |
1992 | Bill Inmon发布了“Building the Data Warehouse”一书 | Inmon, B. (1992). Building the Data Warehouse. Wiley. |
1996 | Ralph Kimball出版了“The Data Warehouse Toolkit”一书 | Kimball, R. (2011). The Data Warehouse Toolkit. Wiley. |
1997 | Himanshu Gupta为数据仓库中选择视图的一般问题开发了一个理论框架 | Gupta, H. (1997). Selection of views to materialize in a data warehouse. International Conference on Database Theory. |
2010 | Raghotham Murthy等人介绍了Hive,一种基于Hadoop构建的开源数据仓库解决方案 | Thusoo, A. et al. (2010). Hive - a petabyte scale data warehouse using Hadoop. 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010). pp. 996-1005. |
发展分析
瓶颈
由于数据往往来源于不同的应用,其往往有不同的名称、单位等,集成性很差;并且必须及时更新、周期性转移,数据的转换和集成远比想象中要复杂许多。
未来发展方向
目前许多数据仓库是根据企业需求设计的,但随着云数据仓库的发展,轻量化、通用性强的数据仓库也许会取代大部分传统数据仓库。
Contributor: Yuanyuan Li