数据仓库是一个从多个数据源收集的信息储存库,存放在一个一致的模式下,并且通常驻留在单个站点。数据仓库通过数据清理、数据变换、数据集成、数据装入和定期数据刷新过程来构造。
数据仓库收集了整个组织的主题信息,因此它是企业范围的。数据集市(data mart)是数据仓库的一个部门子集,它聚焦在选定的主题上,是部门范围的。
数据仓库非常适合联机分析处理(OLAP)。OLAP操作包括下钻(drill-down)和上卷(roll-up),允许用户在不同的汇总级别观察数据。
数据仓库最早是Inmon W H于1992年提出:数据仓库是Subject-Oriented(面向主题的)、Integrated(集成的)、Time-Variant(随时间变化的,时间变异的)、Non-Volatile(非易失的)一系列用于管理和决策制定的数据集。(参考原文:Building the data bridge: the ten critical success factors of building a data warehouse和EIS and the data warehouse: a simple approach to building an effectivefoundation for EIS)
时变性是指数据仓库的数据是随时间不断变化的。这个特征表现在以下三个方面:
(1)数据仓库随时间变化不断增加新的数据内容。
(2)数据仓库随时间变化不断删去旧的数据内容。数据仓库的数据也有存储期限,只不过这个期限远远长于操作型环境的数据时限。
(3)数据仓库中包含大量的综合数据,这些数据很多与时间有关,因而要随着时间的变化不断地进行重新综合。
时变性是从宏观角度的变化,而非易失性是微观角度的不变化。
Stanford大学的WHIPS(WareHouse Information Prototype at Stanford)提出的数据仓库体系结构(如下图)中,底层是多个信息源,信息源可以是关系型数据或者其他数据,如Flat Files,HTML Docs,Knowledge base,Legacy Data等。包装器部件将信息整理成数据仓库中使用的数据模型,监视器部件负责对本地信息源中需要提取的数据及其变化做自动探测,并把它们报告给集成器。
当一个新的信息源连接到数据仓库或者某信息源状态发生变化,Monitor将新数据或者修改过的数据发给Integrator。Integrator负责把信息installing到DW中,其间可能还需要Filtering,Summary,Merging等操作。
数据仓库中包含大量的历史性信息,而底层的数据源一般不维护这些信息。因此,传统视图反映底层数据,而数据仓库反映底层数据的历史。
数据库体系化环境是在一个企业或组织内,由各个面向应用的OLTP数据库及各级面向主题的数据仓库所组成的完整的数据环境,在这个数据环境上建立和进行一个企业或部门的从OLTP到企业管理决策的所有应用。这个数据环境分为两部分:操作型环境和分析型环境,分别为操作型处理和分析型处理这两类数据处理服务。
体系化环境如下:
操作型环境→数据仓库(全局级)→局部仓库(部门级)→个人仓库
箭头表示数据的抽取方向,这种数据仓库的实现采用“自顶向下”的方法,也就是,首先建立一个全局的数据仓库,然后在此基础上建立部门级和个人级数据仓库,这种方法有利于各级数据仓库的一致性。这类似于(八)中讨论的“从属数据集市”。但是,这种方法必然导致实施周期长,见效慢,费用高等问题。
另一种做法是“自底向上”地建立多级数据仓库,类似于(八)中的“独立数据集市”。这种思想的核心是:从最关心的部分开始,先以最少的投资,完成当前需求,然后再不断扩充完善。
参考资料:
[1]王珊.数据仓库技术与联机分析处理.1998