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)定义的更多相关文章

  1. ExtJs Ext.data.Store 处理

    var storeCpye = new Ext.data.GroupingStore({ proxy : new Ext.data.HttpProxy({ url : 'cxgl_cpye.app?d ...

  2. 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 ...

  3. 设置 Ext.data.Store 传参的请求方式

    设置 Ext.data.Store 传参的请求方式 1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var res ...

  4. Ext.data.Store添加动态参数

    多条件查询页面的参数都是动态的,并且我们通常还会有默认加载页面.此时,动态添加参数非常重要,其中baseparam是解决问题的关键. @ 将查询条件定义为一个全局变量 var param_01 = & ...

  5. 转: Ext.data.Store 修改Post请求

    Extjs 4.0版本 var Store = Ext.create('Ext.data.Store', { pageSize: pageSize, model: 'Ext.data.Model名称' ...

  6. 对于Ext.data.Store 介紹 与总结,以及对以前代码的重构与优化

    对于Ext.data.Store 一直不是很了解,不知道他到底是干嘛的有哪些用处,在实际开发中也由于不了解也走了不少弯路, store是一个为Ext器件提供record对象的存储容器,行为和属性都很象 ...

  7. Extjs 项目中常用的小技巧,也许你用得着(5)--设置 Ext.data.Store 传参的请求方式

    1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var resultsPanel = Ext.create('Ex ...

  8. 【ArcGIS】ArcGIS Data Store配置

    一.错误提示 Unable to configure the ArcGIS Data Store with the GIS Server. Please make sure that the GIS ...

  9. sencha touch carousel 扩展 CardList 可绑定data/store

    扩展代码: /* *扩展carousel *通过data,tpl,store配置数据 */ Ext.define('ux.CardList', { extend: 'Ext.carousel.Caro ...

随机推荐

  1. hadoop集群中zkfc的作用和工作过程

    一. 简单了解NameNode的ZKFC机制 NameNode的HA可以个人认为简单分为共享editLog机制和ZKFC对NameNode状态的控制 一般导致NameNode切换的原因 ZKFC的作用 ...

  2. java:原子类的CAS

    当一个处理器想要更新某个变量的值时,向总线发出LOCK#信号,此时其他处理器的对该变量的操作请求将被阻塞,发出锁定信号的处理器将独占共享内存,于是更新就是原子性的了. 1.compareAndSet- ...

  3. Blazor VS 传统Web应用程序

    原文作者: Christian Findlay 原文链接: https://christianfindlay.com/2020/07/09/blazor-vs-traditional-web-apps ...

  4. vue的路由组件挂载。

    vue通过多种方式可以将组件挂载到一个页面上.挂载方式有四种.其实也并不止四种.这里呢就简单的提四种方式去怎样挂载组件. 第一种就是作为标签形式挂载.前面也提到. 后面的就是一般的挂载组件和按需挂载组 ...

  5. 【MyBatis】MyBatis 连接池和事务控制

    MyBatis 连接池和事务控制 文章源码 MyBaits 连接池 实际开发中都会使用连接池,因为它可以减少获取连接所消耗的时间.具体可查看 MyBatis 数据源配置在 SqlMapConfig.x ...

  6. LeetCode747 至少是其他数字两倍的最大数

    在一个给定的数组nums中,总是存在一个最大元素 . 查找数组中的最大元素是否至少是数组中每个其他数字的两倍. 如果是,则返回最大元素的索引,否则返回-1. 示例 1: 输入: nums = [3, ...

  7. SpringSecurity应用篇

    前面吹水原理吹了一篇幅了,现在讲解下应用篇幅,前面说过,如果要用SpringSecurity的话要先导入一个包 <dependency> <groupId>org.spring ...

  8. 目前用下来最溜的MacOS微信多开工具!

    一个生活微信,一个工作微信是很多上班族的基本配置. 但由于微信客户端在PC端上只能打开一个,这使得在上班时候就非常不便,一个号在PC端上登录,一个在手机上使用,但是上班时候又不能一直看手机,不然老板还 ...

  9. ALV中的fieldcat详解

    字段目录是用来控制ALV显示的网格中每个字段的属性的,比如字段的顺序,对齐方式,可编辑状态,颜色,等等.常用的字段如下: Row_pos:    默认值为0,可选值为1.2.3,既最大分3级别显示 c ...

  10. 1.2V升5V电源芯片,1.2V升3V的IC电路图方案

    镍氢电池就是典型的1.2V供电电源了,但是1.2V电压太低,需要电源芯片来1.2V升5V输出,或1.2V升3V输出稳压,1.2V单独难给其他芯片或者模块供电,即使串联1.2V*2=2.4V,也是因为电 ...