ODS与EDW的区别「建议收藏」

ODS与EDW的区别「建议收藏」根据自己的理解与实际项目经验,说说ODS与EDW的异同。如果有不对的地方,欢迎大家批评指正。维基百科对于ODS的定义为”Anoperationaldatastore(or“ODS”)isadatabasedesignedtointegratedatafrommultiplesourcesforadditionaloperationsonthedata.Un

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步

根据自己的理解与实际项目经验,说说ODS与EDW的异同。如果有不对的地方,欢迎大家批评指正。

维基百科对于ODS的定义为”An operational data store (or “ODS”) is a database designed to integrate data from multiple sources for additional operations on the data. Unlike a master data store, the data is not passed back to operational systems. It may be passed for further operations and to the data warehouse for reporting.” 翻译过来”ODS是一种数据架构或数据库设计的概念,出现原因是来自于当需要集成来自多个系统的数据,结果又要给一或多个系统使用时。”

ODS全称为Operational Data Store,按照字面意思理解为操作型数据存储, 是“面向主题的、集成的、可变的、反映当前数据值的和详细的数据的集合,用来满足企业综合的、集成的以及操作型的处理需求”(Bill.Inmon)。ODS在数据仓库中是可选择的一部分,但不是必须的。

EDW全称为Enterprise Data Warehouse,即企业级数据仓库,属于分析型数据。随着数据爆炸,数据量呈爆发式增长,机器学习与数据挖掘方法的不断改进,EDW在企业中处于越来越重要的位置。

关于数据库,ODS,EDW之间的关系,以下这张图非常好地描述了三者之间的关系。
这里写图片描述

其中,ADB为传统的关系型数据库,A,B,C表示不同类型的数据流转。A环节表示生产环境中不同数据库之间直接交换数据,例如mysql,sqlserver,oracle等DB直接通过Informatic等工具交换数据。B表示生产环境中的应用数据通过ODS进行数据交换。C表示数据进行到EDW中。

以下简要说说两者的区别:
1.使用人员的不同
ODS主要面向营业、渠道等一线生产人员和一线管理人员,为了实现准实时、跨系统的运营细节数据的查询,以获得细粒度的运营数据展现。ODS是可变数据,可以进行增删查改,是介于DB与DW的一种数据存储形态,目的是为了数据仓库的处理和决策系统要求与OLTP系统相隔离,减少决策系统对OLTP系统的性能影响。
EDW主要面向专业分析人员、辅助决策支持人员等,为了实现基于历史数据的统计分析和数据挖掘,以获得客户深层次的特征和市场发展的规律,例如专业分析人员的经营状况趋势分析由EDW提供支撑。

2.数据的规模不同
ODS支持OLTP类型的数据更新,而且一般保存近期数据,所以相对而言数据的量级不会太大;EDW保存的是全量历史数据,所以数据量要比ODS的规模大很多。

3.数据来源不同
ODS的数据来源于生产系统,而EDW的数据来源于ODS

4.数据获取性能与及时性
ODS支持OLTP类型的数据更新,数据更新时间短,数据可实现准实时更新,性能与及时性都高于EDW。
EDW因为存的是历史数据,而且数据量很大,一般都是通过批量的方式导入,所以数据的更新速度慢,无法实现实时更新,因此也不支持实时报表与事件监控类的需求。

5.数据粒度
ODS提供简单的操作数据的统计,一般保存的数据粒度较小。有可能也存在部分粗粒度的汇总数据,但是一般汇总的维度少而且简单。
EDW关注对历史数据的深层次分析与挖掘.从分析与挖掘的需要出发按不同主题维度来汇总与组织数据。
EDW提供历史数据的展示和分析,主要提供多层粗粒度汇总数据.汇总的维度多且复杂。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189215.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL表与表之间的关系详解

    外键说到表与表之间的关系就不得不说到一个关键词:外键MySQ中的外键是什么,和表与表之间有什么关联?通过示例说明:员工信息表有三个字段:工号姓名部门如何把他们相互联系起来呢??公司有3

    2022年3月29日
  • [python]异步 async

    [python]异步 async#-*-encoding:utf-8-*-“””ankus@ModifyTime@Author@Version@Description————————————–2021/12/314:02xlgui21.0asynciopy3.8异步IO:就是发起一个IO操作(如:网络请求,文件读写等),这些操作一般是比较耗时的,不用等待它结束,可以继续做

    2022年7月27日
  • python for循环语句用法_python中for语句

    python for循环语句用法_python中for语句这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下for循环本系列前面“探索Python,第5部分:用Python编程”一文讨论了if语句和while循环,讨论了复合语句以及适当缩进Python语句来指示相关Python代码块。该文的结尾介绍了Pythonfor循环。但就其使用和功能来说,for循环更值得关注…

    2022年8月12日
  • 在Anaconda下安装Pytorch的超详细步骤「建议收藏」

    在Anaconda下安装Pytorch的超详细步骤「建议收藏」近几年来,pytorch的发展速度越来越快,在github、CSDN等开源网站上下载的源代码逐渐由tensorflow向pytorch转变。近期在看论文时需要对代码进行复现,在安装pytorch时遇到了很多问题,将整个过程写出来供大家借鉴学习。注:在进行安装的过程中,通过cmd命令框输入命令发现找不到文件,说明环境变量没有配置好。此方法不需要配置环境变量。

    2022年10月7日
  • Java的Executor框架和线程池实现原理

    Java的Executor框架和线程池实现原理一,Java的Executor框架1,Executor接口publicinterfaceExecutor{voidexecute(Runnablecommand);}Executor接口是Executor框架中最基础的部分,定义了一个用于执行Runnable的execute方法,它没有实现类只有另一个重要的子接口ExecutorService2,Exe

    2022年10月28日
  • 【STM32】HAL库 STM32CubeMX教程十二—IIC(读取AT24C02 )

    【STM32】HAL库 STM32CubeMX教程十二—IIC(读取AT24C02 )IIC简介IIC(Inter-IntegratedCircuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。PS:这里要注…

    2022年6月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号