对于数据仓库设计来说,在实时情况下加载事务系统中的增量变化数据是最困难的。为了有效捕捉增量数据变化,对已有数据文件的扫描成为必须面对的问题。因此,必须设法减少数据的扫描数量。目前有五种技术可以用于减少数据扫描量。
第一种
技术是扫描打上时间戳的数据。当一个应用对记录的最近一次修改打上时间戳时,数据仓库扫描就能够很有效地进行;问题:许多应用数据没有加时间戳。但相对来讲这是比较有效的一种方法。
第二种
技术是扫描增量
(DELTA)
文件。增量文件由应用程序生成,仅记录应用中所发生的改变,有了增量文件,扫描的过程就会非常高效(因为不在扫描集合中的数据不会被涉及)。但是,许多应用程序并没有创建增量文件。
第三种
技术是扫描日志文件或审计文件。日志文件和审计文件记录的内容,本质上是一样的。只不过日志文件用在数据恢复,所以各种操作都要保护日志文件。但是利用日志文件的一个问题就是它的内部格式是针对系统用途构建的,必须使用某种技术手段作为日志文件内容输出的接口。使用日志文件的另外一个缺点就是其中包含的内容远远超出数据仓库开发人员的需要。审计文件和日志文件同样具有相同的缺点。
第四种
技术就是修改以往的应用程序代码,使这些程序做到数据集成。但是,这种方法通常行不通,主要是因为许多的应用程序并无代码或代码陈旧很难修改。
第五种
技术是将“前”,“后”两个映像文件进行比较。使用此方法需要在第一次抽取时就对数据库进行快照
(snapshot)
。进行另外一个抽取时,就进行另外一个快照。然后将两个快照逐次比较来确定数据的修改。这种方法是最可怕的,不仅麻烦、复杂而且还要消耗大量的系统软、硬件资源。