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 ...
随机推荐
- hadoop集群中zkfc的作用和工作过程
一. 简单了解NameNode的ZKFC机制 NameNode的HA可以个人认为简单分为共享editLog机制和ZKFC对NameNode状态的控制 一般导致NameNode切换的原因 ZKFC的作用 ...
- java:原子类的CAS
当一个处理器想要更新某个变量的值时,向总线发出LOCK#信号,此时其他处理器的对该变量的操作请求将被阻塞,发出锁定信号的处理器将独占共享内存,于是更新就是原子性的了. 1.compareAndSet- ...
- Blazor VS 传统Web应用程序
原文作者: Christian Findlay 原文链接: https://christianfindlay.com/2020/07/09/blazor-vs-traditional-web-apps ...
- vue的路由组件挂载。
vue通过多种方式可以将组件挂载到一个页面上.挂载方式有四种.其实也并不止四种.这里呢就简单的提四种方式去怎样挂载组件. 第一种就是作为标签形式挂载.前面也提到. 后面的就是一般的挂载组件和按需挂载组 ...
- 【MyBatis】MyBatis 连接池和事务控制
MyBatis 连接池和事务控制 文章源码 MyBaits 连接池 实际开发中都会使用连接池,因为它可以减少获取连接所消耗的时间.具体可查看 MyBatis 数据源配置在 SqlMapConfig.x ...
- LeetCode747 至少是其他数字两倍的最大数
在一个给定的数组nums中,总是存在一个最大元素 . 查找数组中的最大元素是否至少是数组中每个其他数字的两倍. 如果是,则返回最大元素的索引,否则返回-1. 示例 1: 输入: nums = [3, ...
- SpringSecurity应用篇
前面吹水原理吹了一篇幅了,现在讲解下应用篇幅,前面说过,如果要用SpringSecurity的话要先导入一个包 <dependency> <groupId>org.spring ...
- 目前用下来最溜的MacOS微信多开工具!
一个生活微信,一个工作微信是很多上班族的基本配置. 但由于微信客户端在PC端上只能打开一个,这使得在上班时候就非常不便,一个号在PC端上登录,一个在手机上使用,但是上班时候又不能一直看手机,不然老板还 ...
- ALV中的fieldcat详解
字段目录是用来控制ALV显示的网格中每个字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等.常用的字段如下: Row_pos: 默认值为0,可选值为1.2.3,既最大分3级别显示 c ...
- 1.2V升5V电源芯片,1.2V升3V的IC电路图方案
镍氢电池就是典型的1.2V供电电源了,但是1.2V电压太低,需要电源芯片来1.2V升5V输出,或1.2V升3V输出稳压,1.2V单独难给其他芯片或者模块供电,即使串联1.2V*2=2.4V,也是因为电 ...