ODS浅谈
ODS和DW
根据Bill.Inmon的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统” ;
ODS (Operational Data Store)操作型数据存储,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“集成的、当前或接近当前的、不断变化的”数据,一般不保留数据的变动轨迹,是数据仓库体系结构中的一个可选部分;
ODS |
DW |
主要是和源系统表结构相同,表结构随着源系统变化 |
面向主题的表模型,模型相对稳定 |
一般只保留最新数据或较短时间段的数据 |
历史数据,记录轨迹 |
追求时间窗口短,满足报表数据的实效性 |
批处理时间窗口较长 |
Update、Insert、Merge操作 |
主要是Insert操作 |
ODS行业建设:
实施方案 |
特点 |
风险 |
数据仓库(DW) |
一般包含一个数据准备层,先进行源数据采集和清洗;有稳定成熟的模型; |
投入大、风险高 |
操作型数据存储(ODS) |
主要是快速采集源数据;一般也会采用DW的一些技术;可以部分保留较少天数的历史数据,不能满足企业的中远期决策需求;缺点是数没有稳定的数据层; |
投资小、但涉及技术较多 |
ODS+DW |
一般ODS用于报表数据源,同时为DW提供数据;DW作决策支持,提供历史数据; |
一般需要分步实施,降低风险 |
常用术语:
ETL(Extract Transform Load) 数据抽取转换加载软件 |
例如IBM Datastage、Informatic PowerCenter |
DM(Data Mart)数据集市 |
数据集市也可叫做“小数据仓库”。如果说数据仓库是建立在企业级的数据模型之上的话。那么数据集市就是企业级数据仓库的一个子集,他主要面向部门级业务,并且只面向某个特定的主题。数据集市可以在一定程度上解决访问数据仓库的瓶颈 |
Cognos |
报表开发展现工具 |
Cube |
数据立方体,Cognos基于文件的多维数据组织,用于多维分析 |
主数据 |
主要的业务数据,例如客户信息、卡、帐户 |
Metadata元数据 |
数据的数据,包括数据源元数据、ETL规则元数据、OD元数据、报表元数据、接口文件元数据、业务规则元数据等 |
ODS优缺点:
主要优点:
- 提供T+1同构表给MIS系统使用,减轻了对源交易系统的数据访问压力;
- 屏蔽了众多的、异构的数据库,例如DB2/400、sqlserver,物理上集中存放到oracle数据库,降低了MIS系统部署难度;
- 可以统一进行清洗和简单的处理,例如统一Trim;
- 提供部分整合后的主数据层供用户访问,可以降低源系统变化带来的影响;
- 对多个应用系统公用的数据指标可以统一加工,提供公共加工层表;
- 提供各源系统批处理结束标志,方便MIS日报开发;
- 对MIS系统的批处理作业可以提供统一调度;
- 提供部分表的历史数据保存,方便MIS使用;
缺点和不足:
- 改善源系统的数据质量的能力有限,例如:如果源系统没有最后修改日期字段,ODS也较难提供增量数据给后面的应用系统;
- 增大了数据错误的机率;如果通过ETL工具也可以直接访问多个源系统数据并完成数据加工,在数据准确性上保障更高;
- 因为不能掌握全部的源系统数据,例如繁多的登记薄,一段时间内还需要由需求推动同构表的分析和采集工作;
- 没有稳定的、面向主题的数据模型;
- 不能大量地保存历史数据;
- 批处理时间窗口内不能提供数据访问;
ODS浅谈的更多相关文章
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
- 浅谈 LayoutInflater
浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...
- 浅谈Java的throw与throws
转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...
- 浅谈SQL注入风险 - 一个Login拿下Server
前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
- 浅谈angular2+ionic2
浅谈angular2+ionic2 前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别. 1. 项目所用:angular2+ionic2 ...
- iOS开发之浅谈MVVM的架构设计与团队协作
今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...
- Linux特殊符号浅谈
Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可 ...
- 浅谈Angular的 $q, defer, promise
浅谈Angular的 $q, defer, promise 时间 2016-01-13 00:28:00 博客园-原创精华区 原文 http://www.cnblogs.com/big-snow/ ...
随机推荐
- 2016年12月4日 星期日 --出埃及记 Exodus 20:25
2016年12月4日 星期日 --出埃及记 Exodus 20:25 If you make an altar of stones for me, do not build it with dress ...
- 2016年10月11日 星期二 --出埃及记 Exodus 18:22
2016年10月11日 星期二 --出埃及记 Exodus 18:22 Have them serve as judges for the people at all times, but have ...
- bootstrap ace MVC
<<html lang="en"><head> <meta charset="utf-8" /> <title& ...
- BZOJ3687:bitset STL
[bzoj3687][FJ2014集训]简单题 2014年9月14日1,8212 [题目描述]小呆开始研究集合论了,他提出了关于一个数集四个问题:1. 子集的异或和的算术和.2. 子集的异或和的异或和 ...
- eclipse中LogCat有时不显示信息的简单解决办法
android的开发中,经常需要使用到LogCat查看打印的信息. 但是eclipse中的LagCat,有时会刷新不出打印的日志. 特别是在点击ClearLog按钮后,经常会出现上面说的这种情况. 一 ...
- UVA 1252 十五 Twenty Questions
十五 Twenty Questions Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submi ...
- shell 随机从文件中抽取若干行
shuf -n5 main.txt sort -R main.txt | head -5 awk -vN=5 -vC="`wc -l file`" 'BEGIN{srand();w ...
- session 登陆浏览,并实现session注销登陆
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- ImageMagick远程命令执行工具检测工具
ImageMagick这个漏洞昨天晚上就出来了,今天才有时间研究一下,今天自己也测试了一下 效果图: ======================= 用lua写了一个检测脚本 print (" ...
- 基本的DMA控制器
DMA的基本概念 直接内存访问(DMA)是一种完全由硬件执行I/O交换的工作方式.在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行 .DM ...