背景知识:在当今这样一个信息技术发展迅速的时代,数据量也在不断的增长,面临这样的压力,总是会有大神提出一些解决方案。比如高层管理人员希望能查看整个公司的发展业绩,数据仓库(Data Warehouse, DW)正是解决该问题的主要方案,随之DW就这样产生了。可是时代在变,需求也会随着改变,比如保险公司的员工希望提高自己的业绩,拿更多的工资,那么他首先希望的就是能把更多的客户挖进来,其实这其中是有很多方法的。最基本的例子,比方说某保险公司的一个客服希望能够以最高的成功率向客户推荐相关的业务,一旦客户来电,客服可以立刻从数据库中调出该客户的相关的一连串信息,从而可以根据这些信息有针对性的向客户推荐相关的业务了,显然,这样的推荐方式明显可以提高成功率。那么问题就来了,怎么解决这样的问题呢?随之,操作型数据存储(Operational Data Store, ODS)的诞生给此类问题提供了良好的解决方案。从理论上讲,这两种解决方案到底有什么区别呢?现在进入正题。

ODS与DW的区别主要有以下几点:

1、数据的当前性

ODS包括的是当前或接近当前的数据,ODS反映的是当前业务条件的状态,ODS的设计与用户或业务的需要是有关联的,而DW则是更多的反映业务条件的历史数据。

2、数据的更新或加载

ODS中的数据是可以进行修改的,而DW中的数据一般是不进行更新的。ODS的更新是根据业务的需要进行操作的,而没有必要立即更新,因此它需要一种实时或近实时的更新机制。另外,DW中的数据是按照正常的或预先指定的时间进行数据的收集和加载的。

3、数据的汇总性

ODS主要是包括一些细节数据,但是由于性能的需要,可能还包括一些汇总数据,如果包括汇总数据,可能很难保证数据的当前性和准确性。ODS中的汇总数据生命周期比较短,所以可称作为动态汇总数据,如果细节数据经过了修改,则汇总数据同样需要修改。而DW中的数据可称为静态的汇总数据。

4、数据建模

ODS是站在记录层面访问的角度而设计的,DW或DM则是站在结果集层面访问的角度而设计的。ODS支持快速的数据更新,DW作为一个整体是面向查询的。

5、查询的事务

ODS中的事务操作比较多,可能一天中会不断的执行相同的事务,而DW中事务的到达是可以预测的。

6、用途

ODS用于每一天的操作型决策,是一种短期的;DW可以获取一种长期的合作广泛的决策。ODS是策略型的,DW是战略型的。

7、用户

ODS主要用于策略型的用户,比如保险公司每天与客户交流的客服;而DW主要用于战略型的用户,比如公司的高层管理人员。

8、数据量(主要区别之一)

ODS只是包括当前数据,而DW存储的是每一个主题的历史快照;

上图摘录于Corinne Baragoin, Marty Marini, Cellan Morgan, Olaf Mueller, Andrew Perkins, Kiho “Henry” Yim. Building the Operational Data Store on DB2 UDB Using IBM Data Replication, WebSphere MQ Family, and DB2 Warehouse Manager.

************************************************************************************************************************

摘要

本文重点介绍了企业运营数据仓储(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)

浅析ODS与EDW关系(转载)相关推荐

  1. (转载)浅析ODS与EDW 关系

    浅析ODS与EDW 关系 刘智琼 (中国电信集团广州研究院广州510630) 摘要 本文重点介绍了企业运营数据仓储(ODS)和企业数据仓库(EDW )的概念,并对ODS与EDW 之间的关系,包括两者相 ...

  2. 浅析ODS与EDW 关系(转载)

    摘要 本文重点介绍了企业运营数据仓储(ODS)和企业数据仓库(EDW )的概念,并对ODS与EDW 之间的关系,包括两者相同点与不同点进行了详尽的对比与阐述,文章还对业界公认的ODS和EDW 两种不同 ...

  3. ODS与EDW的区别

    项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star,留言,一起学习进步 根据自己的理解与实际项目经验,说说OD ...

  4. 数据仓库中的ODS、EDW、DM等分层是什么?

    参考:数据仓库中的ODS.EDW.和DM层是什么?(系列3) (pmcaff.com) 数据仓库各层说明: 一.数据加载层:ETL(Extract-Transform-Load) 二.数据运营层:OD ...

  5. 数据仓库ods层是啥意思_数据仓库中的ODS、EDW、和DM层是什么?(系列3)

    在第一节内容,提到了数据仓库和数据库的区别,数据仓库作主要面向分析场景的数据库,又进行了"分层"的设计,因此出现了ods层.edw.dm层的设计(也有的公司会使用超过3层的设计模式 ...

  6. Name与x:Name的关系--转载

    小序: 如果想用Google搜包含冒号的内容怎么办?比如我想搜x:Name这个字符串-- 原来,应该是这样--x::Name 这世道,连搜索也要加转义,全民程序员,要不要人活了? 正文: 从第一天学习 ...

  7. 数据仓库学习笔记 --- ODS 与 EDW

    ODS简单的理解为 Operational Data Store, 可操作的数据仓库. EDW简单理解为 Enterprise Data Warehouse, 企业级数据仓库. 普遍存在于各种企业的B ...

  8. 元数据与数据治理:ODS 与 EDW详细解析,不可或缺的应用场景(第十二篇)

    快速入门 ODS简单的理解为 Operational Data Store, 可操作的数据仓库. EDW简单理解为 Enterprise Data Warehouse, 企业级数据仓库. 普遍存在于各 ...

  9. 浅析几种常见算法(转载)

    参考博客:https://blog.csdn.net/Bloodyrabbits/article/details/78445036 一.递归与分支策略 1.分治法的设计思想是,将一个难以直接解决的大问 ...

最新文章

  1. 配置Exchange OWA和Sharepoint网站单点登录
  2. Linux iptables防火墙设置与NAT服务配置
  3. 【Python】大神教你五分钟搞清楚Python函数的参数!
  4. 互联网日报 | 3月22日 星期一 | 苹果iMac Pro全球下架;知乎更新上市招股书;字节跳动成立朝夕光年奇想基金...
  5. Java反序列化漏洞:在受限环境中从漏洞发现到获取反向Shell
  6. openlayers 地图上加图标_OpenLayers学习笔记中级篇(四、地图图标操作)
  7. 六、模块实现:用户管理模块(1)
  8. 2023最新苹果APP上架App Store流程(超详细)
  9. 操作系统独木桥问题解法
  10. 深入理解Java7.pdf
  11. random_state = 42
  12. Java-根据IP统计访问次数
  13. module blacklist
  14. 一文读懂伪回归、协整、格兰杰
  15. linux-htop详解
  16. 我在牛津读计算机科学pdf,迈阿密大学牛津分校计算机科学(本硕连读)本科专业.pdf...
  17. 年度回顾:2021年区块链安全问题建议
  18. 论文评审最大流_2018年论文评审流程
  19. PostGIS开发实例之农村土地确权数据库实例
  20. 驱动-遍历驱动、隐藏驱动

热门文章

  1. 将小写金额转换为中文大写
  2. 支付宝(网商银行)提前批一面
  3. 海贼王热血航线正在连接服务器,航海王热血航线连接服务器失败解决方法一览[多图]...
  4. 他放弃高薪工作做起村官,带领岫云村品牌扎根大都市
  5. 什么是swagger、springfox
  6. android手机停用或卸载自带app方法
  7. Unity Protobuf 简单 案例 详解 从下载到安装和使用
  8. python plot label改字体_python – 如何在matplotlib图中更改xticks字体大小
  9. 数的扩充与戴德金分化
  10. Spring Boot系列之读取配置