数据仓库的重要应用是将不同来源的数据和异构数据通过ETL整合在一起,为决策分析提供支撑,若在同一个数据库中分不同用户,此意义不大;假设所有有用户都在一个数据库里,如果因为某个原因数据库重启,那么会影响所有的应用,这违背了 SOA 设计理念中低耦合的思路,当然建在不同的库也是不好的,比如我们要有下钻操作,需要从DW层下钻到ODS层,多个库不方便查询和关联。

  

在当今这样一个信息技术发展迅速的时代,数据量也在不断的增长,面临这样的压力,总是会有大神提出一些解决方案。比如高层管理人员希望能查看整个公司的发展业绩,数据仓库(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.

转于http://blog.csdn.net/hero_hegang/article/details/8691912

DW,DM,ODS的区别的更多相关文章

  1. 数据仓库分层ODS DW DM 主题 标签

    数据仓库知识之ODS/DW/DM - xingchaojun的专栏 - CSDN博客 数据仓库为什么要分层 - 晨柳溪 - 博客园 数据仓库的架构与设计 - Trigl的博客 - CSDN博客 数据仓 ...

  2. 数据仓库DW、ODS、DM概念及其区别

    整体结构 在具体分析数据仓库之前先看下一下数据中心的整体架构以及数据流向   数据中心整体架构.png DB 是现有的数据来源,可以为mysql.SQLserver.文件日志等,为数据仓库提供数据来源 ...

  3. DW数据仓库与ODS的区别

    这两天接触到ODS,开始很纳闷,有了DW(Data Warehouse)干嘛还要ODS(Operational Data Store),于是不查不知道,一查吓一跳,这里面还有这么多道道,这里总结一下, ...

  4. 【漫谈数据仓库】 如何优雅地设计数据分层 ODS DW DM层级

    转载http://bigdata.51cto.com/art/201710/554810.htm 一.文章主题 本文主要讲解数据仓库的一个重要环节:如何设计数据分层!其它关于数据仓库的内容可参考之前的 ...

  5. 对数据仓库ODS DW DM的理解

    原文链接:https://www.jianshu.com/p/72e395d8cb33 今天看了一些专业的解释,还是对ODS.DW和DM认识不深刻,下班后花时间分别查了查它们的概念. ODS——操作性 ...

  6. QR码与DM码的区别

    DM无法表现汉字等其他形式,而QR码能用数据压缩方式来表示汉字,仅用13bit即可表示一个汉字,比其他二维条码表示汉字的效率提高了20%.相较而言,DM码信息容量小,应用简单.而QR在汉字处理上更有优 ...

  7. 数据仓库与ODS的区别

    我在公司的数据部门工作,每天的订单类数据处理流程大致如下: 删除分析数据库的历史订单数据 全量更新订单数据到分析数据库.(由于订单核心数据不大,所以经受得起这么折腾) 将数据简单清洗,并生成数据集市层 ...

  8. 汇编代码中db,dw,dd的区别

    db定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1 dw定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2 dd定义双字类型变量,一个双字数据占4个字节单元,读完一个, ...

  9. 在dw中 <!----> 和 /**/ 的区别?

    <!-- -->是HTML的注释标签,使用<和>是符合HTML标签语法规则的./* */是CSS和JS的注释标签.两种注释有各自的使用环境,并且不能相互替代.

随机推荐

  1. VS2013中Python学习环境搭建

    VS2013中Python学习笔记[环境搭建] 前言 Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字, ...

  2. ref引用类型,数组型参数,out输出参数

    ref和out的相同点和不同点 共同点:都是引用传递不同点:ref的参数在调用之前一定要赋值,在方法调用的过程中可以不要赋值.    out的参数在调用之前可以不赋值,在方法调用的过程中一定要赋值. ...

  3. Lamda Action Func Thread 实例

    lamda表达式 格式:( 形参列表 ) => { 函数体 } 作用:简化匿名方法的书写,可用在任何可使用匿名方法和强类型代理的地方: Action是无返回值的泛型委托. Action 表示无参 ...

  4. using和yield return

    C#中的using和yield return混合使用 最近写代码为了为了省事儿用了几个yield return,因为我不想New一个List<T>或者T[]对象再往里放元素,就直接返回IE ...

  5. IOS UI 第五篇:基本UI

    添加个导航栏:         Xib1 *xib1 = [[Xib1 alloc] initWithNibName:@"Xib1" bundle:nil];    UINavig ...

  6. begin 2~~~

    发觉自己是一个偏向geek的coder 其实自己没有像一个pure coder一样,lost in code world,我总喜欢做一些东西,奇怪的: 联通的多拨破解 openwrt的入门级研究 pf ...

  7. C#HTTP代理的实现之注册表实现

    HTTP代理的实现形式,可以通过修改注册表项,然后启动浏览器来实现,也可以通过SOCKET通信,构造HTTP头实现.下面是关于注册表实现的方式. 注册表实现,只需要修改几个关键的注册表项就可以了. 第 ...

  8. NuGet的本地服务器安装与Package的发布

    NuGet的本地服务器安装与Package的发布 主要的步骤是按照下面的例子来做的: NuGet学习笔记(1)——初识NuGet及快速安装使用 NuGet学习笔记(2)——使用图形化界面打包自己的类库 ...

  9. Dotliquid使用Json模板变量

    Dotliquid是不错的Template Engine,为了更方便使用,扩展了一下,使它支持json数据的替换,引用了Newtonsoft.Json.Linq /// <summary> ...

  10. YSlow的性能测试提示

    Add an Expires or a Cache-Control Header tag: server There are two aspects to this rule: For static ...