ODS与EDW的区别「建议收藏」
项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
根据自己的理解与实际项目经验,说说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提供历史数据的展示和分析,主要提供多层粗粒度汇总数据.汇总的维度多且复杂。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
相关文章
- 项目开发序言「建议收藏」
- js动画requestAnimationFrame详解「建议收藏」
- 微信群发sdk「建议收藏」
- Keil 使用教程(详解)「建议收藏」
- fflush和fsync的联系和区别「建议收藏」
- SQL SERVER 中的smalldatetime和datetime区别「建议收藏」
- 深信服scsa知识点一「建议收藏」
- 计算机组成原理知识点总结「建议收藏」
- ORA-01017解决方案「建议收藏」
- CPLD和FPGA的区别和联系「建议收藏」
- PrintWriter and BufferedWriter区别和使用「建议收藏」
- Linux下nginx的安装以及环境配置「建议收藏」
- jsp和servlet的区别「建议收藏」
- java之数组和链表的区别「建议收藏」
- HTTP 和 HTTPS 的区别(面试常考题)「建议收藏」
- JAVA重写和重载的区别「建议收藏」
- OpenSSL心血漏洞分析「建议收藏」
- Office2007集成SP1光盘镜像下载(简体中文专业版+企业版VOL)「建议收藏」
- 详述 SQL 中的 distinct 和 row_number() over() 的区别及用法「建议收藏」
- Verilog实现移位寄存器「建议收藏」
- Android 源码解析 之 setContentView「建议收藏」
- oracle的nvl函数的使用解析「建议收藏」
- Android ListView几种Adapter用法简介「建议收藏」
- 重写和重载的区别是什么「建议收藏」
- shiro面试题「建议收藏」
- MPEG-4、MPEG-4/AVC、H.264之间的联系与区别「建议收藏」
- cnpm安装方法「建议收藏」
- 设计模式、框架、架构、平台的区别「建议收藏」
- 自定义Appfabric Cache 配置提供程序「建议收藏」
- vscode golang环境搭建「建议收藏」
- Go语言初见println和fmt.Println区别「建议收藏」
- AVI视频文件编码格式不受支持0xc00d5212怎么解决?「建议收藏」