//
浅析ODS与EDW关系(转载)海阔天空新浪博客
http://blog.sina.com.cn/s/blog_54c021fb01017v3k.html
浅析ODS与EDW 关系
刘智琼
(中国电信集团广州研究院广州510630)
摘要
本文重点介绍了企业运营数据仓储(ODS)和企业数据仓库(EDW )的概念,并对ODS与EDW 之间的关系,包括两者相同点与不同点进行了详尽的对比与阐述,文章还对业界公认的ODS和EDW 两种不同建设方法也分别进行了说明,并给出了作者认为合理的建设方法。
1 前言
ODS(运营数据仓储)与EDW(企业数据仓储)都是中国电信企业数据架构的重要组成部分,它们一起构成企业统一数据平台。2007年大多数省级电信公司都陆续启动ODS与EDW的建设。经调查发现,各省电信公司在两个系统的建设过程中对两个系统在企业数据架构中的各自职能与分工存在一定的疑问与困惑,为帮助大家澄清这些疑问与困惑,本文对ODS与EDW在整个企业数据架构中的关系进行详尽阐述,包括对两者相同点的分析、不同点的对比。使读者在对比与分析过程中理解两者的联系与区别。同时本文还对ODS与EDW如何建设的两种观点逐一阐述与分析,并给出了相应的建议。
2 企业数据架构
EDW主要为企业提供分析决策服务。ODS主要实现企业数据整合、共享和准实时运营监控等功能,ODS是EDW的一个有益的补充和扩展。生产系统、ODS及EDW之间的数据关系如图1所示,
其中.ADB为应用数据库;A、B、C表示不同类型的数据流动:A表示操作环境中应用数据库之间的直接数据交换;B表示操作环境中应用数据库之间通过ODS进行数据交换;C表示数据从操作环境被抽取到分析环境。
操作环境下各生产系统中的运营数据通过ETL(抽取、转换、装载)过程进人到ODS中,生产系统之间准实时的数据交换由ODS系统完成,ODS系统同时还将整合好的操作环境下的运营数据通过ETL等方式传送到EDW中.完成运营数据从操作环境进人到分析环境的过程。
各生产系统的应用数据库、ODS、EDW构成了整个企业数据架构的主体。下文重点对企业数据架构中的ODS和EDW这两个实体的概念与作用做详细说明。
2.1 ODS的概念及作用
ODS存储了运营系统(如OLTP(联机事务处理)系统)近实时的详细数据。ODS的概念最早是由“数据仓库之父”——Bill Inmon提出的。ODS最初引入是为了寻找能满足快速加载和数据整合的性能要求,并且减少面向分析需求的变更和扩充对生产系统影响的解决方案,这一解决方案便是在生产系统和EDW之间增加一个数据整合层(也叫做数据缓冲层)即ODS。具有数据整合层的作用,是提出ODS概念的主要出发点。随着技术的发展,近年来ODS被赋予的功能和作用也得到了延伸,目前业界普遍认同的观点是:ODS为企业原始运营数据存储提供了一个整合平台,它的信息来自于不同的运营型应用系统。通过数据接口,在数据整合业务规则作用下,进入ODS的信息是可靠的、可信的。ODS中数据的集成、实时特征决定了ODS主要有以下3个作用。
对运营数据进行清理整合,提高运营数据质量,是EDW的一个主要数据来源。ODS对生产系统产生的数据进行了初步的清洗、过滤和整合,存储了较为详细和全面的企业运营数据,ODS中的数据不仅具有较高的数据质量,而且比OLTP系统更有利于EDW对数据进行获取和进一步的转换、整合等处理,是EDW的主要数据来源之一。
· 实现跨系统的近实时报表和查询统计应用。ODS从不同的运营应用系统中采集数据.整合各个系统的共享交易数据,形成企业级数据的整体视图。ODS最大的价值是集成了跨系统的数据,从而能够实现一些跨系统的报表和查询统计应用。另外,ODS也可以从EDW中获取自身所需的数据.如经过EDW统计分析后的一些结果性的数据,可以提供给统计分析人员和业务人员进行实时调用和备查。
· 作为其他生产系统的数据同步源。ODS捕捉当前和近期的交易数据.数据具有实时性或准实时性,ODS中的数据按照需要可以与运营系统数据定期同步。由于ODS中的数据是“新”的。因而可以通过它使数据与其他生产系统中的数据同步。
2.2 EDW 的概念及作用
EDW依据企业的统一标准和规则对来自于企业内外的分散在不同系统的数据进行消除非一致性的集成和标准化处理(即ETL处理),形成企业数据的全面统一视图。
EDW采用多维分析和数据挖掘等手段。细分市场和客户,支撑市场的经营分析、准确决策和快速反应能力。为各级部门和分析决策人员提供基于部门的和基于企业的全方位的数据和分析服务。通过EDW,从根本上解决了数据分散重复、共享困难和信息孤岛等问题,充分发挥了数据资源的价值,全面提升了企业在经营决策、运营管理、业务拓展和客户服务等方面的支撑能力。EDW中数据面向主题、
集成及非易失的特征决定了EDW主要有以下两个作用。
· 为企业各级的经营决策和市场营销提供及时、精确、全面的数据支持和科学、方便、体系化的分析工具和使用方法,为除生产系统以外的管理、分析等需求提供数据支撑,实现业务数据与分析数据的分离。
解决目前市场等部门信息获取能力和分析决策手段不能适应企业环境变化和精确化管理要求的问题,并通过各种形式的主题,专题分析,支撑针对性营销、上市信息披露、精确化管理.有效降低营销成本,减少客户流失,寻找商机,达到提升企业价值的目的。
3 ODS和EDW 的相同点与不同点
3.1 ODS与EDW的相同点
从ODS与EDW各自的概念与作用可以看出。ODS与EDW具有以下的共同之处。
· ODS与EDW都是企业数据架构中的独立系统,两个系统都不是直接产生运营数据的系统,两个系统中的数据都是由操作环境的数据经过抽取、转换、加载(ETL)的过程而来,还要进行进一步的清理、整合等工作(EDW的数据可由ODS加载装入)。
· ODS与EDW一样都既有细粒度的数据。也有根据不同维度汇总的汇总数据。
· ODS与EDW上均提供基于跨系统整合后数据的报表类应用。
3.2 ODS与EDW之间的差异
虽然ODS与EDW具有一些相似之处.但两者却是完全不同的实体,下面从多个角度对比两者的不同之处。
(1)使用角色
· ODS主要面向营业、渠道等一线生产人员和一线管理人员,为了实现准实时、跨系统的运营细节数据的查询,以获得细粒度的运营数据展现,例如渠道人员查询客户的全视图信息由ODS提供数据支撑。
· EDW主要面向专业分析人员、辅助决策支持人员等,为了实现基于历史数据的统计分析和数据挖
掘,以获得客户深层次的特征和市场发展的规律,例如专业分析人员的经营状况趋势分析由EDW提
供支撑。
(2)数据来源
· ODS需要的大部分运营数据直接来源生产系统。 ODS中的部分分析结果数据来源于EDW,例如客户
洞察信息等。
· EDW需要的运营数据,如果在ODS中已存在,EDW则直接从ODS获取这部分数据。· EDW需要的运营数据,如果在ODS中没有,EDW则直接从生产系统获取这部分数据。
(3)数据获取性能和及时性
· ODS支持OLTP类型的数据更新,数据更新时间短,数据可实现准实时更新,性能与及时性都高于EDW 。
· EDW中的数据一般通过批量加载进入,数据更新速度慢,无法实现准实时更新,数据更新时间不足以支持实时的报表和事件监控需求。
(4)数据架构
ODS以关注生产运营过程的统计与监控为主的生产视角主题域方式来组织数据。
ODS提供操作数据的统计,主要提供应用需要的细粒度运营数据。ODS中也存在部分粗粒度汇总数据,但汇总的维度少且简单。
EDW关注对历史数据的深层次分析与挖掘.从分析与挖掘的需要出发按不同主题维度来汇总与组织数据。
EDW提供历史数据的展示和分析,主要提供多层粗粒度汇总数据.汇总的维度多且复杂。
(5)数据共享能力
ODS为其他生产系统提供运营数据的准实时数据共享服务。
EDW一般不为生产系统提供此类准实时的数据共享服务。系统中的数据只供本系统分析与挖掘应用使用。
(6)系统提供应用数据查询。
ODS提供生产环境下的数据查询,查询的交易量较小,不耗费太多资源,有确定的完成速度。而EDW提供分析环境下的查询,查询单元量较大,消耗的资源很多,完成的速度也不确定。
固定报表。
ODS提供生产环境下实时性较高的生产经营报表,而EDW提供分析环境下的主题分析与挖掘报表。动态报表。
ODS提供面向少量维度的细粒度数据的统计,而EDW提供面向多个维度的多层粗粒度数据的主题统计、分析及深层次的挖掘。
ODS提供绩效管理和统计、数据质量审计和监控管理等功能。
EDW提供趋势分析、客户消费行为分析和评估等功能。
(7)数据存储
客户等关键实体数据。ODS长久保存当前数据,EDW长久保存当前与历史数据。
详单数据。ODS保存1个月到3个月;EDW保存2年。
汇总数据。ODS保存3年;EDW保存5年。
其他数据。ODS保存l3个月;EDW保存3年。
(8)系统技术特征
ODS主要面对大并发用户数、小数据量的访问,EDW主要面对小并发用户数、大数据量的访问。
ODS数据库优化同时侧重索引和分区技术;EDW数据库优化主要侧重分区技术。
ODS支持OLTP类型和OLAP(联机分析处理)类型的数据操作,EDW支持OLAP类型的数据操作。
(9)系统可靠性
ODS参与运营.必须保证可靠性。
相对ODS.EDW可以允许有更多的脱机时间。
(1O)系统开放性
因为需要与大量不同硬件、数据库配置的系统相互交换数据。ODS要求比较高的系统开放性。
EDW一般只获取数据.而不提供给其他应用系统以多种模式直接访问,解决方案上也可采用相对封闭的数据库、软硬件平台。
4 ODS与EDW 建设方案
从上述ODS与EDW 的分析与对比可知,ODS与EDW是两个定位与功能完全不同的实体.但在ODS与EDW的实际建设方式上,业界又有两种不同的声音,一种是以Bill Inmon为代表的认为ODS应该作为一个独立系统单独建设.另一种是以Ralph Kimball为代表的认为ODS应该纳入到EDW中.作为EDW的一部分,在一个独立系统中统一建设。下文对两种方案逐一进行说明。
Bi11 Inmon在1996年写的《建立运营数据仓储》一书中正式提出了ODS的概念。Inmon认为分析决策需要基于越来越实时和细节的运营数据.同时这些数据又必须是集成的和面向主题的.而运营系统和数据仓库均无法满足相应的信息需求,因此提出了ODS的概念,并在整个IT支撑体系(即Inmon所说的企业信息工厂)中增加了独立的ODS组件。Bill Inmon提出的两者建设架构如图2所示。
从图2可以看到.ODS的数据来自于各个分散的运营系统,这些数据在独立的ODS中进行整合.在ODS中形成面向主题的、集成的、易变的、当前值的、详细的运营数据.按照业务需求和性能的要求进行组织存储.并在ODS建立相应的应用以满足业务的要求。ODS中整合好的运营数据通过ETL处理过程进入到EDW中.ODS与EDW作为两个独立的系统分别建设。
而另外一种观点的提出者Ralph Kimball认为在技术发展的情况下.Bill Inmon认为的ODS单独存在的理由(ETL的限制无法实现实时数据加载、大量细粒度数据的存储、高性能的查询和7x24 h可靠性的要求.增加了数据仓库的负载.甚至会引起数据仓库的崩溃)不成立。Kimball认为,支撑EDW的软、硬件技术得到了发展.大数据量存储的数据仓库技术已经不是问题。也就是说数据仓库系统中存储细粒度的数据也是没有问题的,ETL的处理速度越来越快,通过高速的ETL工具已经可实现以所需要的任何频度抽取数据到EDW中;而且随着EDW本身的发展,EDW越变越大.分析更加细节的客户行为和更加具体的操作数据的需求也在增长.在大多数情况下.分析挖掘必须基于细粒度数据进行,细粒度的运营数据越来越多地在EDW中被使用.因而Kimball认为在这样的情况下.ODS已经没必要作为一个单独的系统.可看作是数据仓库系统的“前端边缘”。他将ODS重定义为EDW中的面向主题的、集成的、
经常扩展的细节数据的存储区域。同时Kimball认为把ODS纳入到数据仓库的环境后较其单独建设还会给维护者和使用者带来更大的便利与好处,包括只建立一个单独的抽取系统.减少ETL开发与维护工作量:运营细节数据在一个统一的系统中存储.减少数据的冗余存储等。
Kimball提出的两者建设架构如图3所示。
在ODS与EDW 的实际建设过程中.这两种观点都有不同的追随者.在系统架构设计上都有采用。作者也一度倾向于Kimball的ODS应作为EDW的一部分建设的观点,但是随着对ODS与EDW更进一步的研究。作者发现Kimball之所以建议将ODS作为EDW的一个部分建设,更多考虑的是.单一系统的数据获取频度与大数据量细粒度数据存储能力这两个方面能同时满足ODS与EDW的需要.但是ODS是否单独建设不仅需要考虑单一系统能否实时获取并存储大量运营细节数据。更应该考虑单一系统能否高效地同时支持ODS和EDW上的两种不同类型的前端应用。ODS与EDW上需要承载的应用是截然不同的,为更高效地支撑两种不同类型的应用,系统应采用的硬、软件的技术特点是各不相同的。如果按照Kimball的理论将两者建立在一个系统中.不是绝对不行.但是和它们分开建设相比。混合两种不同类型的工作到同一个系统需要耗费更多的资源和成本,而且更加难以保证服务水平,因此从系统的稳定性、性能、成本等方面综合考虑,原则上作者不建议ODS与EDW建设在一个系统中,两个实体应作为两个独立系统分开建设。但对于数据规模不大,EDW 已经建设完成的个别省,在EDW数据库产品、硬件设备、数据实时性及应用支撑能力等方面能较好地满足ODS应用支撑的功能及性能要求的前提下,作者认为将ODS与EDW合建在一个系统内也是切实可行的。
参考文献
1 lnmon W H著.王志海等译.数据仓库(原书第4版).北京:
机械工业出版社.2006
2 中国电信集团.中国电信CTG-MBOSS EDA分总V1.O规范.2oo5
3 Baragoin C,Marini M,Morgan C.Building the operational data store.DB2 UDB IBM Redbook,2001
4 Kimball R.Relocating the ODS.DBMS Magazine,1997(10)
5 lnmon B.The operational data store.1nfoDB Magazine,1995(2)