DW,DM,ODS的区别
数据仓库的重要应用是将不同来源的数据和异构数据通过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的区别的更多相关文章
- 数据仓库分层ODS DW DM 主题 标签
数据仓库知识之ODS/DW/DM - xingchaojun的专栏 - CSDN博客 数据仓库为什么要分层 - 晨柳溪 - 博客园 数据仓库的架构与设计 - Trigl的博客 - CSDN博客 数据仓 ...
- 数据仓库DW、ODS、DM概念及其区别
整体结构 在具体分析数据仓库之前先看下一下数据中心的整体架构以及数据流向 数据中心整体架构.png DB 是现有的数据来源,可以为mysql.SQLserver.文件日志等,为数据仓库提供数据来源 ...
- DW数据仓库与ODS的区别
这两天接触到ODS,开始很纳闷,有了DW(Data Warehouse)干嘛还要ODS(Operational Data Store),于是不查不知道,一查吓一跳,这里面还有这么多道道,这里总结一下, ...
- 【漫谈数据仓库】 如何优雅地设计数据分层 ODS DW DM层级
转载http://bigdata.51cto.com/art/201710/554810.htm 一.文章主题 本文主要讲解数据仓库的一个重要环节:如何设计数据分层!其它关于数据仓库的内容可参考之前的 ...
- 对数据仓库ODS DW DM的理解
原文链接:https://www.jianshu.com/p/72e395d8cb33 今天看了一些专业的解释,还是对ODS.DW和DM认识不深刻,下班后花时间分别查了查它们的概念. ODS——操作性 ...
- QR码与DM码的区别
DM无法表现汉字等其他形式,而QR码能用数据压缩方式来表示汉字,仅用13bit即可表示一个汉字,比其他二维条码表示汉字的效率提高了20%.相较而言,DM码信息容量小,应用简单.而QR在汉字处理上更有优 ...
- 数据仓库与ODS的区别
我在公司的数据部门工作,每天的订单类数据处理流程大致如下: 删除分析数据库的历史订单数据 全量更新订单数据到分析数据库.(由于订单核心数据不大,所以经受得起这么折腾) 将数据简单清洗,并生成数据集市层 ...
- 汇编代码中db,dw,dd的区别
db定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1 dw定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2 dd定义双字类型变量,一个双字数据占4个字节单元,读完一个, ...
- 在dw中 <!----> 和 /**/ 的区别?
<!-- -->是HTML的注释标签,使用<和>是符合HTML标签语法规则的./* */是CSS和JS的注释标签.两种注释有各自的使用环境,并且不能相互替代.
随机推荐
- Hudson+Maven+Svn搭建持续集成环境
Hudson+Maven+Svn搭建持续集成环境 博客分类: 配置管理 mavenSVNTomcat项目管理配置管理 一.所用开发工具 1. Hudson: Hudson 是一种革命性的开放源码 ...
- ESB 设计
ESB 设计 最近为公司完成了一个 ESB 的设计.下面简要说明一下具体的设计方案. 企业 SOA 整体方案 在前一篇<SOA.ESB.NServiceBus.云计算 总结>中说到,SOA ...
- bootstrap错误警告信息提示
bootstrap提供了成功执行.警告和错误信息的样式. 在使用该功能的时候需要引入以下几个文件: bootstrap.css jquery.js(需放在bootstrap.js之前) bootstr ...
- Fitnesse测试用例脚本自动生成设计
Fitnesse是通过wiki形式来展示.管理和执行测试用例,若要在Fitnesse上设计测试用例,前提是必须熟悉一定的wiki语法,虽然wiki语法简单,但是若要设计成百上千的测试用例还是有很大的工 ...
- Effective C++(15) 在资源管理类中提供对原始资源的访问
问题聚焦: 资源管理类是为了对抗资源泄露. 如果一些函数需要访问原始资源,资源管理类应该怎么做呢? 关于资源管理的概念总是显得那么的高大上,其实只是抽象一点. 下面用 ...
- WebApi HttpMsgHanler的执行顺序
原来忘记在哪个大牛的博客上看到的,说添加顺序与执行顺序是相反的,事实在下边:直接上代码: //STEP10,不论如何先记录下来请求信息 if (msgHandlerSettings.LoggingHa ...
- 输出一个string的所有排列情况
问题: 1.加入输入是{a,b,c}; 2.输出abc,acb,bac,bca,cab,cba; 代码描述: 1.递归遍历所有情况 2.方法FUN输入为:要排列的字符串char inp[];inp[] ...
- Object-c学习之路三(@class与#import的区别)
//@class只是为了声明B是一个类 当两个类相互包含的时候#import是做不到的 //一般在.h文件中用@class声明一个类成员 在..m文件中具体用到时才用#import应用 //二者区别 ...
- Tomcat中Context的配置
Tomcat直接ip地址访问不用加端口和项目名 当我们开发完一个WEB项目 然后部署到tomcat下,正常情况下应该是这样访问:http://localhost:端口号/项目名 如果我们想让用户仅仅输 ...
- JPA 批注参考
body, p, th, td, li, ul, ol, h1, h2, h3, h4, h5, h6, pre { font-family: simsun; line-height: 1.4; } ...