操作型数据存储区

http://jingh3209.blog.163.com/blog/static/156966720091054453352/

操作型数据存储区(ODS,Operational Data Store),是为了弥补业务系统和数据仓库之间的数据同步差距而提出的,要解决的问题:"对一个特定的业务流程来说,怎么才能提供最新的、跨功能部门之 间的信息",例如对客户服务人员,他需要销售、库存、市场和研发等各部门的最新数据,而这些数据原来是分散在不同部门的不同应用系统的;如果通过数据仓库 来实现数据集成,则实时性难以保证,或者建设成本很高。

ODS是数据仓库体系结构中的一个可选部分,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是"面向主题的、集成的、当前或接近当前 的、不断变化的"数据,同数据仓库类似,ODS也是面向主题的、集成的,但是其最大特点是数据是可更新的,甚至由业务系统通过触发器直接更新。因 此,ODS是业务系统和DW之间更偏向业务系统的数据存储区域。

一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用。

1.在业务系统和数据仓库之间形成一个隔离层

一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中。从这些业务系统对数据进行抽取并 不是一件容易的事。因此,ODS用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致。因此在抽取 过程中极大地降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。

2.转移一部分业务系统细节查询的功能



在数据仓库建立之前,大量的报表、分析是由业务系统直接支持的,在一些比较复杂的报表生成过程中,对业务系统的运行产生相当大的压力。ODS的数据 从粒度、组织方式等各个方面都保持了与业务系统的一致,那么原来由业务系统产生的报表、细节数据的查询自然能够从ODS中进行,从而降低业务系统的查询压 力。

3.完成数据仓库中不能完成的一些功能

一般来说,在带有ODS数据仓库体系结构中,DW层所存储的数据都是汇总过的数据,并不存储每笔交易产生的细节数据。但是在某些特殊的应用中,可能 需要对交易细节数据进行查询,这时就需要把细节数据查询的功能转移到ODS来完成,而且ODS的数据模型按照面向主题的方式进行存储,可以方便地支持多维 分析等查询功能。

在一个没有ODS层的数据仓库应用系统体系结构中,数据仓库中存储的数据粒度是根据需要而确定的,但一般来说,最为细节的业务数据也是需要保留的, 实际上数据的内容也就相当于ODS。但与ODS所不同的是,这时的细节数据不是"当前、不断变化的"数据,而是"历史的,不再变化的"数据。ODS可以和 DW形成互补的整体,构成完整的战术决策支持系统架构,然而需要注意的是,数据抽取,要么抽取到ODS中,要么抽取到DW中,不能同时都抽取;而DW会定 时到ODS进行数据抽取,这就是一个关键的ETL设计准则:即应用"Single Source Population"(单源传播),以保证数据在ETL过程中的一致性。

利用ODS+DW实现战术决策支持有其非常直观的优势:利用ODS实现实时或者准实时的数据抽取,而且ODS的数据量不大,可以比较高效地进行数据的修改和更新,并且可以提高查询的效率。而利用数据仓库的海量存储,可以实现历史数据的查询,实现战略决策支持。

但是,这种方式也有很明显的劣势:由于ODS和DW的结构和模型是不同的,这需要进行不同的系统和数据模型设计,也需要不同的系统维护过程,这就相应地增加了系统的使用成本。

你可能感兴趣的:(数据结构,应用服务器,Blog)