开发者社区> 技术小美> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于数据仓库 — ODS概念

简介:
+关注继续查看
ODS 是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需 求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。
根据 Bill.Inmon 的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统 ”
ODS 是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需 求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。
在 Kimball 的 << 数据仓库生命周期工具集 The Data WareHouse Liftcycle Toolkit>> ,他是这样定义的
1. 是操作型系统中的集成 , 用于当前,历史以及其它细节查询 ( 业务系统的一部分 )
2. 为决策支持提供当前细节数据 ( 数据仓库的一部分 )
因此操作数据存储( ODS ) 是用于支持企业日常的全局应用的数据集合, ODS 的数据具有面向主题、集成的、可变的和数据是当前的或是接近当前的 4 个基本特征。同样也可以看出 ODS 是介于 DB 和 DW 之间的一种数据存储技术,和原来面向应用的分散的 DB 相比, ODS 中的数据组织方式和数据仓库( DW )一样也是面向主题的和集成的,所以对进入 ODS 的数 据也象进入数据仓库的数据一样进行集成处理。另外 ODS 只是存放当前或接近当前的数据,如果需要的话还可以对 ODS 中的数据进行增、删和更新等操 作,虽然 DW 中的数据也是面向主题和集成的,但这些数据一般不进行修改,所以 ODS 和 DW 的区别主要体现数据的可变性、当前性、稳定性、汇总度上。
由于 ODS 仍然存储在普通的关系数据库中,出于性能、存储和备份恢复等数据库的角度以及对源数据库的性能影响角度,个人不建议 ODS 保存相当长周期的数据,同样 ODS 中的数据也尽量不做转换,而是原封不动地与业务数据库保持一致。即 ODS 只是业务数据库的一个备份或者映像,目的是为了使数据仓库的处理和决策支持要求与 OLTP 系统相隔离,减少决策支持要求对 OLTP 系统的影响。
为什么需要有一个 ODS 系统呢?一般在带有 ODS 的系统体系结构中, ODS 都具备如下几个作用:
1 ) 在业务系统和数据仓库之间形成一个隔离层。
一 般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置、不同的数据库、不同的应用之中,从这些业务系统对数据进行抽取并不是一件 容易的事。因此, ODS 用于存放从业务系统直接抽取出来的数据,这些数据从数据结构、数据之间的逻辑关系上都与业务系统基本保持一致,因此在抽取过程中极 大降低了数据转化的复杂性,而主要关注数据抽取的接口、数据量大小、抽取方式等方面的问题。
2 ) 转移一部分业务系统细节查询的功能
在 数据仓库建立之前,大量的报表、分析是由业务系统直接支持的,在一些比较复杂的报表生成过程中,对业务系统的运行产生相当大的压力。 ODS 的数据从粒度、 组织方式等各个方面都保持了与业务系统的一致,那么原来由业务系统产生的报表、细节数据的查询自然能够从 ODS 中进行,从而降低业务系统的查询压力。
3 ) 完成数据仓库中不能完成的一些功能。
一 般来说,带有 ODS 的数据仓库体系结构中, DW 层所存储的数据都是进行汇总过的数据和运营指标,并不存储每笔交易产生的细节数据,但是在某些特殊的应用中,可能需要 对交易细节数据进行查询,这时就需要把细节数据查询的功能转移到 ODS 来完成,而且 ODS 的数据模型按照面向主题的方式进行存储,可以方便地支持多维分析 等查询功能。即数据仓库从宏观角度满足企业的决策支持要求,而 ODS 层则从微观角度反映细节交易数据或者低粒度的数据查询要求。
在一个没有 ODS 层的数据仓库应用系统体系结构中,数据仓库中存储的数据粒度是根据需要而确定的,但一般来说,最为细节的业务数据也是需要保留的,实际上 也就相当于 ODS ,但与 ODS 所不同的是,这时的细节数据不是“当前、不断变化的”数据,而是“历史的,不再变化的”数据。这样的数据仓库的存储压力和性能压力都是比较大的,因此对数据仓库的物理设计和逻辑设计提出了更高的要求。






本文转自baoqiangwang51CTO博客,原文链接:http://blog.51cto.com/baoqiangwang/309769,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据仓库建设……
数据仓库建设……
22 0
数据仓库—数据集成
其实数据集成是数仓的一个基本特点,这里我们再回顾一下数仓的特性,或者说是我们再回顾一下数仓的定义,面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策的数据系统。
70 0
数据中台-数据仓库、数据湖、数据中台的区别
数据中台构建于数据湖之上,具备数据湖异构数据统一计算、存储的能力,同时让数据湖中杂乱的数据通过规范化的方式管理起来。数据湖、数据仓库和数据中台,他们并没有直接的关系,只是他们为业务产生价值的形式有不同的侧重。
241 0
奈学:数据湖和数据仓库的区别有哪些?
储存方面:数据湖中数据为非结构化的,所有数据都保持原始形式;存储所有数据,并且仅在分析时再进行转换。数据仓库就是数据通常从事务系统中提取,在将数据加载到数据仓库之前,会对数据进行清理与转换。
441 0
数据仓库建模:定义事实表的粒度
数据仓库建模:定义事实表的粒度Posted on 2015-08-25 09:03 xuzhengzhu 阅读(28) 评论(0) 编辑 收藏 维度建模中一个非常重要的步骤是定义事实表的粒度。
1551 0
数据仓库建模方法初步
一、前言     数据仓库得建模方法同样也有很多种,每一种建模方法其实代表了哲学上的一个观点,代表了一种归 纳,概括世界的一种方法。目前业界较为流行的数据仓库的建模方法非常多,这里主要介绍范式建模法,维度建模法,实体建模法等几种方法,每种方法其实从本质 上讲就是从不同的角度看我们业务中的问题,不管从技术层面还是业务层面,其实代表的是哲学上的一种世界观。
1430 0
+关注
6819
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载