尽管创建元数据源的副本《抽取文件)会有一些额外的存储r丌销,但这些开销会相当小,因为元数据源文件中的数据量通常不会很大。另一方面,单独建立抽取层有三个优点:
1)时效性
抽取层对于保持系统中的元数据同步非常重要。为了说明这一点,可以假定有三张元数据仓库表需要从相同的元数据源得至0数据。如何构造一个进程直接从同一数据源构建这三张元数据表,当执行该迸程来构建其中一元数据表时,此时的元数据源可能已经变化了。当元数据源高度动态变化时,这种情况的可能性会更大。在不同时刻读取元数据时,元数据仓库中的数据就会不同步。通过在集成处理过程中一次性创建抽取文件,所有的元数据表可由该抽取文件构建,这就消除了可能的时效性问题。
2)扩展性
因为要创建类似于元数据源文件或表的抽取文件,所以只需要从元数据源一次性地读取数据。如果没有抽取文件或表,元数据仓库中的每张表都必须分别从元数据源中读取,这并不是开发人员所期望的。
3)备份
创建抽取文件提供了该元数据源的自然备份。因此,如果出现了不得不停止元数据集成处理的状况,那么可以在不影响元数据源的情况下轻易地撤消改动。