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. Redis缓存篇(二)淘汰机制:缓存满了怎么办?

    上一讲提到,缓存的容量总是小于后端数据库的.随着业务系统的使用,缓存数据会撑满内存空间,该怎么处理呢? 本节我们来学习内存淘汰机制.在Redis 4.0之前有6种内存淘汰策略,之后又增加2种,一共8种 ...

  2. 风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞

    风炫安全web安全学习第三十五节课 文件下载和文件读取漏洞 0x03 任意文件下载漏洞 一些网站由于业务需求,往往需要提供文件下载功能,但若对用户下载的文件不做限制,则恶意用户就能够下载任意敏感文件, ...

  3. 修改postman工具的代码生成工具让它锦上添花

    @font-face { font-family: octicons-link; src: url("data:font/woff;charset=utf-8;base64,d09GRgAB ...

  4. IdentityServer4 之 Resource Owner Password Credentials 其实有点尴尬

    前言 接着IdentityServer4的授权模式继续聊,这篇来说说 Resource Owner Password Credentials授权模式,这种模式在实际应用场景中使用的并不多,只怪其太开放 ...

  5. Syn_Flood攻击&防御手段

    Syn_Flood攻击原理 攻击者首先伪造地址对服务器发起SYN请求(我可以建立连接吗?),服务器就会回应一个ACK+SYN(可以+请确认).而真实的IP会认为,我没有发送请求,不作回应.服务器没有收 ...

  6. 【C++】《Effective C++》第五章

    第五章 实现 条款26:尽可能延后变量定义式的出现时间 只要定义了一个变量而其类型带有一个构造函数或析构函数,那么 当程序的控制流到达这个变量定义式时,你得承受这个构造成本. 当这个变量离开这个作用域 ...

  7. 【ORA】ORA-4031错误分析和解决办法

    1. ORA-4031错误的原因,一般是大量的hard parse导致了shared pool中的free list中产生大量的内存小碎片,当一个需要很大内存来进行hard parse的sql语句到来 ...

  8. 【ORA】ora-39700解决

  9. Windows系统使用运行框运行程序

    配置步骤 1. 在非系统盘创建一个新文件夹,自定义名称.将需要使用运行框启动的程序或文件放入文件夹,并将其更改为自己容易记忆的名称 2. 创建环境变量 右击 "此电脑" → &qu ...

  10. [noip模拟]分组行动

    题目描述 最近,木木中学要举行一年一度的辩论赛了,我们活泼开朗乐观向上不寂寞不生病不挂科天天回家吃饭的新时代好少年--飞飞,自然是热情参与咯!辩论嘛,就有正方和反方两个组,这是一个传统项目,所以,包括 ...