图1显示了一种典型的数据仓库结构。这只是一个逻辑视图,它的具体实现,不同厂家有自己不同的数据仓库产品解决方案。数据抽取和数据清洗的实现与每个数据源有关,对于不同的数据源提供有统一的或定制的工具。同样,数据的一致性(多数据源清洗)既可以与数据集成(多数据源操作)分开也可以合并到数据集成中进行。高级别的数据聚合工作可以看成一个计算技术的集合,这个集合的范围涵盖从简单的统计函数到高级的数据挖掘算法。对于不同的数据集市来说,数据定制技术是不同的。关键在于决策者想要看到的数据的详尽程度。
数据仓库更新是一个非常重要的过程,它决定了数据采集和数据聚合的实效性。确实,向决策者提供的数据的质量与以下因素有关。首先,与数据仓库系统在合理的时间内将数据从数据源转换到数据集市的能力有关。其次,与数据仓库对数据源中信息发生变化的敏感程度有关。大部分的设计考虑主要集中在对数据结构的选取和数据的更新技术上,这里的数据更新技术指的是对数据仓库更新的优化策略。
在对数据仓库更新的理解方面在相关的文献上存在着很大的误区。确实,这个过程经常被简化为视图维护问题或与数据导入混为一谈。本文的目的之一就是指出数据

图1 数据仓库的体系结构
仓库的更新要比数据视图的维护问题要复杂的多,也不同于数据导入过程。我们把数据更新过程定义为一个工作流,组成工作流的具体活动类型取决于数据抽取和数据清洗所应用的产品。与其配套的触发事件则与应用的范围和对数据刷新频率的要求相关。
以下几节将分别描述数据更新过程的任务,并阐明在工作流中如何组织这些任务。第2节主要讨论数据更新过程与数据导入及视图维护的不同。第3节定义了工作流的标准形式并结合一个工作流的例子逻辑展现了数据仓库更新过程。第4节按照工作流的设计模式定义了数据仓库更新过程的语义。第5节归纳了本文的主要思想,并涉及到一些实现方面的观点。