关于数据仓库 — 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 ,如需转载请自行联系原作者
相关文章
|
8月前
|
消息中间件 数据采集 SQL
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
|
存储 SQL 分布式计算
数据湖 VS 数据仓库之争?阿里提出大数据架构新概念:湖仓一体
随着近几年数据湖概念的兴起,业界对于数据仓库和数据湖的对比甚至争论就一直不断。有人说数据湖是下一代大数据平台,各大云厂商也在纷纷的提出自己的数据湖解决方案,一些云数仓产品也增加了和数据湖联动的特性。但是数据仓库和数据湖的区别到底是什么,是技术路线之争?是数据管理方式之争?二者是水火不容还是其实可以和谐共存,甚至互为补充?本文作者来自阿里巴巴计算平台部门,深度参与阿里巴巴大数据/数据中台领域建设,将从历史的角度对数据湖和数据仓库的来龙去脉进行深入剖析,来阐述两者融合演进的新方向——湖仓一体,并就基于阿里云MaxCompute/EMR DataLake的湖仓一体方案做一介绍。
27109 2
数据湖 VS 数据仓库之争?阿里提出大数据架构新概念:湖仓一体
|
8月前
|
存储 数据库
数据仓库为什么要有ODS层?by 彭文华
数据仓库为什么要有ODS层?by 彭文华
|
8月前
|
消息中间件 数据采集 JSON
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(二)
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(二)
|
9月前
|
SQL 存储 分布式计算
数据仓库的Hive的概念一款构建在Hadoop之上的数据仓库
Hive是一款基于Hadoop的数据仓库系统,它可以将结构化数据存储在Hadoop的HDFS中,并使用SQL语言进行查询和分析。Hive的目的是让用户可以使用熟悉的SQL语言来处理大规模的结构化数据,而无需熟悉MapReduce编程。
111 0
|
11月前
|
SQL JSON Cloud Native
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(上)——三、产品相关概念(上)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(上)——三、产品相关概念(上)
|
11月前
|
存储 固态存储 Cloud Native
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(上)——三、产品相关概念(下)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(上)——三、产品相关概念(下)
|
11月前
|
存储 算法 Cloud Native
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(上)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(上)
|
11月前
|
存储 SQL Cloud Native
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(中)
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(中)
|
存储 机器学习/深度学习 大数据
数据库、数据仓库与数据湖的概念与基本特点
数据库、数据仓库与数据湖的概念与基本特点