ODS是面向主题、集成、可变和当前详细数据的集合,用于支持企业对即时性、易用性和集成信息整体的需求。 常用于数据仓库迁移,是数据仓库项目的选项之一。根据Bill.Inmon的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统” ODS是一组面向主题、集成、可变和当前详细数据,用于支持企业对即时性、易用性和整个集成信息的需求。 常用于数据仓库迁移,是数据仓库项目的选项之一。在Kimball的数据仓库生命周期工具集The Data WareHouse Liftcycle Toolkit,他是这样定义的 1 .是操作型系统中的集成,为了提供当前用于历史及其他详细查询的业务系统的一部分)2.辅助决策的当前详细数据数据仓库的一部分), 操作数据存储ODS )是用于支持企业日常全球APP应用的数据集,ODS的数据是面向主题的、集成的、可变的,同样,ODS是介于DB和DW之间的数据存储技术,是传统的面向APP应用程序的ODS中的数据组织方法也与数据仓库DW )一样以主题为导向进行集成,因此进入ODS的数据也与进入数据仓库的数据同样被集成处理。 ODS还可以根据需要添加、删除和更新ODS数据,只需存储当前或接近当前的数据。 DW数据也面向主题和集成,但这些数据通常保持不变,因此ODS和DW之间的差异主要体现在数据的可变性、当前性、稳定性和聚合度上。 由于ODS仍然存储在典型的关系数据库中,因此从数据库如性能、存储和备份恢复)和对源数据库的性能影响的角度来看,ODS将存储相当长一段时间的数据另外,ODS的数据也建议尽可能不转换,直接与业务数据库一致。 这意味着ODS只是业务数据库的备份或映像,其目的是将数据仓库处理和决策支持要求与OLTP系统隔离开来,并减少决策支持要求对OLTP系统的影响。为什么需要有一个ODS系统呢?一般在带有ODS的系统体系结构中,ODS都具备如下几个作用: 1 )在业务系统和数据仓库之间形成隔离层。 典型的数据仓库APP应用系统具有非常复杂的数据源,这些数据存储在地理位置、数据库位置和APP位置,从这些业务系统中提取数据并不容易。 因此,ODS用于存储直接从业务系统提取的数据,这些数据由于数据结构、数据之间的逻辑关系与业务系统基本一致,大大降低了提取过程中数据转换的复杂性,主要是数据提取的接口、数据量的大小2 )在转移部分业务系统详细查询功能的数据仓库建成之前,大量的报表、分析由业务系统直接支持,在一些比较复杂的报表生成过程中,业务系统的运行产生了相当大的压力。 由于ODS的数据从粒度、组织方式等各方面与业务系统保持一致,所以本来业务系统生成的报表、详细数据的查询当然可以从ODS进行,可以降低业务系统查询的压力。 3 )完成一些数据仓库无法完成的功能。 通常,在带ODS的数据仓库架构中,存储在DW层的数据都是汇总的数据和操作指标,没有存储为每个交易生成的详细数据,但某些特殊APP应用程序可能需要查询交易的详细数据另外,ODS的数据模型以主题为导向进行存储,可以容易地支持多维分析等查询功能。 也就是说,数据仓库从宏观角度满足企业决策支持要求,ODS层从微观角度反映详细的交易数据或低粒度的数据查询要求。
在没有ODS层的数据仓库APP应用系统体系结构中,存储在数据仓库中的数据的粒度是根据需要确定的,但通常还需要保留最详细的业务数据,实际上相当于ODS,但与ODS不同这种数据仓库的存储负担和性能负担很大,因此对数据仓库的物理和逻辑设计提出了更高的要求。