ODS的作用
通常,在具有ODS的系统架构中,ODS被设计用于以下功能:
1.在业务系统和数据仓库之间形成一个隔离层。
一般的数据仓库应用系统都有非常复杂的数据源,这些数据源存储在不同的地理位置、不同的数据库和不同的应用程序中。从这些业务系统中提取数据并不是一件容易的事情。因此,使用ODS存储直接从业务系统中提取的数据,在数据结构和数据之间的逻辑关系上与业务系统基本一致,因此在提取过程中大大降低了数据转换的复杂度,主要关心的是数据提取的接口、数据的大小和提取方法。
2.转移查询部分业务系统明细的功能。
在数据仓库建立之前,大量的报表和分析是由业务系统直接支撑的,在生成一些复杂报表的过程中,给业务系统的运行带来了相当大的压力。ODS的数据与业务系统在粒度、组织等方面是一致的,所以原本由业务系统生成的报表和明细数据的查询自然可以从ODS进行,减轻了业务系统的查询压力。
3.完成一些在数据仓库中无法完成的功能。
一般来说,在使用ODS的数据仓库架构中,对存储在DW层的数据进行汇总,并不存储每笔交易产生的详细数据。但在一些特殊的应用中,可能需要查询交易的明细数据,所以需要将明细数据查询功能转移到ODS,ODS的数据模型以面向主题的方式存储,可以方便地支持多维分析等查询功能。
在没有ODS层的数据仓库应用系统架构中,数据仓库存储数据的粒度是根据需要确定的,但一般来说,最详细的业务数据也需要保留,实际上相当于ODS。但与ODS不同,此时的详细数据不是“当前的、不断变化的”数据,而是“历史的、不变的”数据。