第28卷 第11期2004年11月 信 息 技 术I NFORM ATI ON TECH NO LOGYVO L.28 NO.11Nov.2004ODS数据仓库新技术的研究与应用王霓虹,刘美玲(东北林业大学,哈尔滨150040)摘 要:讨论数据仓库新的技术方向—操作型数据存储ODS(Operational Data Store),介绍了其基本内容及特性,并探讨了ODS与实时系统的应用问题。
介绍了结合林业企业木材销售应用的ODS商业系统。
关键词:ODS;数据仓库;实时数据仓库;O LAP中图分类号:TP311.13 文献标识码:B 文章编号:1009-2552(2004)11-0008-04 Operational Data Store—data w arehouse ne w technologyWANG Ni2hong,LI U Mei2ling(N ortheast Forestry U niversity,H arbin150040,China)Abstract:In this article,a new data warehouse application(ODS)-Operational Data Store technology is dis2 cussed.Chiefly,introduce its basic content and behavior.Als o ODS and real-time system is in this research.F or instance of a system which according to forestry enterprise timber marketing.K ey w ords:ODS(Operational Data Store);data warehouse;real-time data warehouse;O LAP(On-Line Analytical Processing)1 数据仓库及ODS的基本内容1.1 数据仓库概念典型的数据仓库应该是一个主题数据库,支持用户从巨大的运营数据存储中发现信息,支持对业务趋势进行跟踪,实现业务的预测和计划。
更为广泛接受的数据仓库定义是数据仓库之父Bill Inm on在1991年出版的“Building the Data Ware2 house”一书中所提到的:数据仓库是一个面向主题的,集成的,不同时间的,稳定的数据集合以便支持管理决策。
数据仓库不是一个新平台,而是一个新概念。
数据仓库也不是一个现成的产品,而是一个解决方案。
数据仓库是在收集各种分散、异构数据源的基础上,对数据进行转换和集成,从而为决策者提供单一的分析环境,帮助其科学决策分析。
1.2 数据仓库与ODS的关系基于数据库(Data Base)和数据仓库(Data Ware2 house)的中间层ODS(Operational Data Store)的数据存储技术,从应用的角度分析设计了一个商业系统的即时O LAP(On-Line Analytical Processing)系统。
通过使用ODS克服了利用DW进行决策过于臃肿且不适合企业即时的中层决策的问题。
2 ODS新技术的研究2.1 ODS的基本内容及其特征先从概念上对ODS有个直观的理解。
ODS定义为:(Operational Data Store)操作型数据存储,对于一些准实时的业务数据库当中的数据的暂时存储,支持一些同时关联到历史数据与实时数据分析的数据暂时存储区域。
操作数据存储(ODS)是用于支持企业日常的全局应用的数据集合,ODS的数据具有面向主题、集成的、可变的和数据是当前的或是接近当前的4个基本特征。
ODS是介于DB和DW之间的一种数据存储技术,和原来面向应用的分散的DB相比,ODS中收稿日期:2004-09-26作者简介:王霓虹(1952-),女,1978年毕业于哈尔滨船舶工程学院计算机系,现工作在哈尔滨东北林业大学信息与工程计算机工程学院,院长,教授,学科带头人,研究生导师。
—8—的数据组织方式和数据仓库(DW)一样也是面向主题的和集成的,所以对进入ODS的数据也象进入数据仓库的数据一样进行转化和集成处理。
另外ODS 只是存放当前或接近当前的数据,如果需要的话还可以对ODS中的数据进行增、删和更新等操作,虽然DW中的数据也是面向主题和集成的,但这些数据一般不进行修改,所以ODS和DW的区别主要体现数据的可变性和当前性上。
2.2 对于ODS的分析例如:一个数据仓库的开发,可以把所有业务初始数据(不同平台、不同数据库类型),导到一个统一的Oracle数据库中可称为staging data server(阶段数据服务器),staging data server存储的是从业务系统原版搬过来的没有经过数据清洗、转换的数据。
这些数据没有经过任何的其他处理,称它为“脏”数据,是否在数据仓库和staging data server之间再处理一次数据呢,这次处理就是清洗和转换过程,结果存放在ODS。
这样处理的好处如下:(1)ODS可以作为数据仓库的备份数据;(2)staging data是临时的增量数据,快速地从源数据抽取,减少业务系统压力;(3)客户如果想查询详细数据,可以直接从ODS 查询统计;(4)各个层次结构清晰明了,各自完成不同的功能;(5)ODS是与外部系统的标准接口,需求改变,减少数据ET L改变的工作量。
也有不足的地方:由于中间多一个层次结构,数据的分析不够及时。
2.3 ODS与Staging Data ServerStaging Data Server可以说是大型数据仓库的一个很重要的选项,其数据结构和内容与业务系统是一模一样的,这么做主要是为了减少对业务系统的压力,并让ET L(数据抽取、转换、清洗、装载)过程有一个统计的接口。
(1)Staging Data Server是一个虚拟的概念,它可以是一个单独的服务器,也可以驻留在业务系统或数据仓库的数据库服务器上,一般是不允许用户访问的。
而里面的内容一般是临时性的,抽取到数据仓库后删除或者在下一次更新抽取前删除。
但是现在也有一种做法是建立Persistent Staging(永久数据),数据是不断累积的,Persistent Staging相当于就是业务系统数据的备份,也能承担一部分的查询。
不过建立Per2 sistent Staging的做法现在还不怎么流行。
(2)ODS可以说是数据仓库的一个变体,其数据结构和数据仓库可以说是完全相同,也是基于主题进行组织的,但是其数据是挥发的,一般就保存1~3个月,因此还不能说是数据仓库的备份数据。
ODS 的主要功能是承担大量的报表和简单查询,以减少数据仓库的负担,因此报表和简单查询一般查的是近期数据。
超过3个月的数据就导入到数据仓库中。
因此ODS是可选的,如果数据仓库的压力不是特别大,就没必要建立ODS。
在很多情况下,Staging Data Server是逻辑的,据国外同行的经验,对于数据源特别复杂的情况,建议采用Staging Data Server可以实现统一的ET L接口,并且屏蔽ET L对源系统的影响。
物理上他可以和数据仓库是同一台服务器。
(考虑投资的因素)对于ODS的确有很多争论的地方,甚至有人就把Staging Data Server作为ODS,这样的话ODS就比较偏向业务系统,但是Bill Inm on(比尔・恩门)对ODS的定义是:“运营数据存储是一个面向主题的、集成的、当前的并且是可“挥发”的数据集合,主要用于企业战术性的决策制定过程或业务管理。
“ODS 的数据是可写回的,并不断进行刷新”。
因此ODS 是针对业务系统和数据仓库的不足提出来的,作为业务系统和数据仓库的中间桥梁,因为对业务系统来说,数据是分散的,用户无法得到统一的、全面的、集成的数据展现。
3 ODS与实时数据仓库和O LAP的使用3.1 ODS的应用一般来说,业务系统都可以作为数据源来处理,至于它们之间的数据结构是否一致,并不重要,都可以通过数据仓库中的所谓的integrator(积分器)来进行结构转换,最终都使用同一种格式。
还有,就是数据仓库中的数据并不需要原子粒度的数据,它的作用就是为统计分析,或者是模式挖掘等服务的,所以其中的数据是经过合成的。
所以,数据源与数据仓库之间的中间层是肯定必须的。
基于ODS构建的大客户管理系统,源数据层的数据经大客户管理系统的数据采集功能进行数据采集/整理/加载,形成的统一信息层-ODS层(操作数据存储,实际上就是大客户管理系统中的客户档案数据),在逻辑和存储上对业务处理系统与数据仓库进行隔离。
数据仓库采用多维模型进行存储,通过对ODS 层数据的抽取、净化和转换而形成的从细节级、轻度综合、中度综合直至高度综合各级粒度的O LAP分析数据层,是按照主题分析的需要建立的企业级全局数据存储。
在数据仓库之上通过联机分析(O LAP)和数据—9—挖掘预测的分析引擎,构建大客户经营分析与决策支持等应用,和Web服务器共同构成中间层。
ODS作为一个中间层次,一方面,它包含企业全局一致的、细节的数据,可以进行全局操作型处理;另一方面,它又是一种面向主题的、集成的数据环境,适合完成日常报表和决策的数据处理分析。
可见,ODS一方面支持业务性操作,另一方面面向主题。
在主题之下放置与该主题相关的各种基础数据,组合在一起就是基础数据源。
基础数据源是整个ODS的核心,存储着最为基础的非派生数据。
从上面分析可看出,建设数据仓库的第一步是建设基础数据源。
因此可以看到,面向主题和集成性斯得ODS的数据在静态特征上很接近DW中的数据。
但是,在ODS与DW之间仍然有许多基本的、重要的差别。
首先,ODS主要保存近期数据,而DW大量是长期保存并可重复查询的历史数据。
其二,ODS支持面向记录的联机刷新,包括企业级的O LAP;而DW中的基础数据是不可修改的。
其三是向ODS数据仓库DW提供一致的数据环境以供抽取。
DW则主要用于长期趋势分析或战略决策。
3.2 实时数据仓库的概念对于实时数据仓库,最早是Michaem Haisten(BI 专家)提出的,他对实时数据仓库的分类和架构有详细的描述。
现在逐渐提出了实时数据仓库的概念,主要的思想就是:在数据仓库中,将保存的数据分为两类,一种为静态数据,一种为动态数据,静态数据满足用户的查询分析要求;而动态数据就是为了适应实时性,数据源中发生的更新可以立刻传送到数据仓库的动态数据中,其中再经过响应的转换,满足实时的要求。
3.3 实时数据仓库和ODS的关系对于实时数据仓库和ODS的关系,现在更多的实时分析是建立在ODS上而不是数据仓库上,因为ODS相对数据量较少,处理较为容易,根据这种分类,ODS可以分为三类。