ODS(Operational Data Store)定义
ODS(Operational Data Store)可操作的数据存储。
很多人对ODS究竟是什么有很多的困惑,ODS对于不同的人可以有不同的看法,我主要说说什么是最主流的定义。首先我们需要注意,ODS不同于数据仓库(Data warehouse)或数据集市(Data mart)。数据仓库是用来保存公司来自很多不同的来源的历史数据,并主要将这些数据用于趋势分析,生成报表的地方。它是一个公司很多主题域(subject area)的一个合集,它在企业中是唯一的(一个企业不会有很多个数据仓库,那样数据可能会对不上)、真实的(只认可这一个数据仓库中的数据)。数据集市和数据仓库扮演的角色一样,只是数据仓库包含多个主题域,而数据集市仅仅面向一个主题域。可以把数据仓库认为是多个数据集市组合体。
ODS的目的是集成公司不同来源的企业数据,以便于实时或者接近实时地产生操作报告。通常ODS中数据的结构和源数据结构很像,尽管在数据集成的时候,可以被清理、去规范化, 还有一些数据按照公司政策来集成。这个集成是粒度最小的、一天内发生的频率最高的集成。通常ODS不会被设计成用来做历史数据分析或者趋势分析工作,这些是数据仓库的功能。ODS通常会被用来当做数据仓库的数据来源。
总结下ODS和数据仓库的不同之处:
~~ODS用于最低粒度的查询用,而数据仓库通常保存的是综合过的、粒度较粗的数据,通常用于较复杂的、分析性的查询。
~~ODS通常实时性较高,通常保存的数据是实时的或者近乎实时的,因此能较及时地返回查询请求,数据仓库通常是历史的数据,通常分析的数据较多,不能做到实时返回查询,分析需要比较长时间。
~~ODS保存的数据视窗较小,即时间跨度不大;数据仓库保存的几乎是一个公司的所有历史数据。
~~ODS为当前或接近实时数据的操作和战术决策提供信息,而数据仓库为战略决策提供反馈,从而整体改进系统。
~~ODS抽取数据的频率可以是几分钟、几小时;数据仓库的抽取数据的频率可以是每天、每周、每月、或者每季度。
为什么需要一个ODS的一些原因:
~~源系统能够提供有限的分析能力
~~可以使用更好的、更有效的工具来做分析,而不是直接在源系统上做数据分析
~~可以更好地做权限控制,仅仅让某些人访问到公司的数据,生成实时或近乎实时的报表统计
~~可以将公司不同的数据库中的数据集合到一起,并基于当天的数据做近乎实时的分析和生成报表
ODS(Operational Data Store)定义的更多相关文章
- ExtJs Ext.data.Store 处理
var storeCpye = new Ext.data.GroupingStore({ proxy : new Ext.data.HttpProxy({ url : 'cxgl_cpye.app?d ...
- Open-sourcing LogDevice, a distributed data store for sequential data
https://logdevice.io/blog/2018/09/12/open-sourcing-announcement.html September 12, 2018 We are exc ...
- 设置 Ext.data.Store 传参的请求方式
设置 Ext.data.Store 传参的请求方式 1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var res ...
- Ext.data.Store添加动态参数
多条件查询页面的参数都是动态的,并且我们通常还会有默认加载页面.此时,动态添加参数非常重要,其中baseparam是解决问题的关键. @ 将查询条件定义为一个全局变量 var param_01 = & ...
- 转: Ext.data.Store 修改Post请求
Extjs 4.0版本 var Store = Ext.create('Ext.data.Store', { pageSize: pageSize, model: 'Ext.data.Model名称' ...
- 对于Ext.data.Store 介紹 与总结,以及对以前代码的重构与优化
对于Ext.data.Store 一直不是很了解,不知道他到底是干嘛的有哪些用处,在实际开发中也由于不了解也走了不少弯路, store是一个为Ext器件提供record对象的存储容器,行为和属性都很象 ...
- Extjs 项目中常用的小技巧,也许你用得着(5)--设置 Ext.data.Store 传参的请求方式
1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var resultsPanel = Ext.create('Ex ...
- 【ArcGIS】ArcGIS Data Store配置
一.错误提示 Unable to configure the ArcGIS Data Store with the GIS Server. Please make sure that the GIS ...
- sencha touch carousel 扩展 CardList 可绑定data/store
扩展代码: /* *扩展carousel *通过data,tpl,store配置数据 */ Ext.define('ux.CardList', { extend: 'Ext.carousel.Caro ...
随机推荐
- 二、集群配置SSH免密登录
一.以3个几点为例,分别为master.slave01.slave02 1.分别生成自己节点密钥对 master: 创建dsa免密代码:ssh-keygen -t dsa -P '' -f ~/.ss ...
- kubectl常用命令(个人记录)
一.获取pod信息 1.获取当前集群运行的所有的pods的信息 kubectl get pod 2.获取当前集群运行的所有的pod运行在哪个节点 kubectl get pods -owide ...
- 在.NET Core中使用Channel(三)
到目前为止,我们一直在使用所谓的"Unbounded"通道.你会注意到,当我们创建通道时,我们这样做: var myChannel = Channel.CreateUnbounde ...
- ArrayDeque API 与算法分析
ArrayDeque 是双端队列的动态数组实现,可以当作栈和队列来使用.作为栈时,它的效率比 Stack 更高,作为队列时,效率比 LinkedList 更高.ArrayDeque 大部分操作的时间复 ...
- [RTMP] 国内各大视频直播CDN厂商推流抢流行为分析
背景 当存在一个推流客户端正在向rtmp://xxx.com/live/yyy推流时,又有另外一个推流客户端同时对这个地址进行推流,会发生什么呢? 查阅了 Adobe RTMP Spec 发现规范本身 ...
- 【SpringBoot1.x】SpringBoot1.x 任务
SpringBoot1.x 任务 文章源码 异步任务 在 Java 应用中,绝大多数情况下都是通过同步的方式来实现交互处理的.但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使 ...
- 【Oracle】查询锁的相关SQL
--查看有锁的进程 select t2.username,t2.sid,t2.serial#,t2.logon_time,t2.state from v$locked_object t1,v$sess ...
- 一个div画同心圆
二话不说上代码 background-image:radial-gradient(7px,#00A4FF 50%,#fff 75%,#00A4FF 94%); 7px是圆的半径 效果:
- Linux下载并安装JDK1.8
https://blog.csdn.net/Future_LL/article/details/84667634
- Django orm中related_name/related_query_name区别
related_name/related_query_name区别 class Department(models.Model): title = models.CharField(verbose_n ...