数据仓库的一种定义

原文档最后更新日期:2002-02-14

来源地址:http://www.dwinfocenter.org/defined.html

汉化:Rax

最后更新日期:2002-11-19

 

我所支持的数据仓库定义就是在Ralph Kimball在《The Data Warehouse Toolkit》第310页定义基础上的一个略为修改的版本:

 

数据仓库是为了查询(Querying)和报告(Reporting)而专门构造的事务处理型数据的副本。

 

Ralph宣称数据仓库是“为了查询操作(Query)和分析(Analysis)而专门构造的事务处理型数据的副本”。对于Ralph的定义,我有两点吹毛求疵的小异议:

 

1、尽管存放在数据仓库中的事务处理型数据通常大概占95%99%,但数据仓库有时也会存放非事务处理型数据;

 

2、我之所以说“查询和报告”比“查询语句操作和分析”更胜一筹,那是因为数据仓库系统主要的输出是:带有最小限度的格式化的简单表格(查询)或者带有高度格式化的“正式”报告。由存储在数据仓库中数据所生成的查询和报告可以用于分析,也可以不用作分析。――关于为什么事务处理型数据要被复制为副本,你可以参见我的论文数据仓库案例

 

我更加喜欢的是Ralph定义中没有规定的东西。

 

是否是数据仓库和数据存储的形式规格没有关系。

 

数据仓库可以标准化也可以非标准化,它可以是关系型数据库、多维数据库、平面文件、层级型数据库(hierarchical database)、对象型数据库等等。数据仓库数据经常发生改变,同时数据仓库经常关注于一个具体的行为或实体。

 

数据仓库不是在决策过程中必须使用的,也不是“决策者”一定需要的。

 

当然,如果你把每个用户都当作决策者,所有行为都作为决策过程,那么我的主张就是错误的。但是根据我的经验,数据仓库应用于相当平凡的非决策支持用途,和用做得益广泛影响的决策支持(所以称之为战略性决策),二者比较而言,数据仓库运用在前者的情况要压倒性的比后者多的多。实际上,我愿意断言:大多数数据仓库都用于加速决策,监控决策影响(或像一些人所称为了“运作(operational)”的观点)。顺便说说,这不是说在决策过程中运用数据仓库没有潜在性令人惊异的高回报。但是我的警告是:尽管同业者的竭力推动,以及厂家、许多业界专家们的鼓吹,把数据仓库的任务与决策支持相等同。实际上,这确实是一个我们缺乏清晰了解的方面。(详见Peter keen的文章)