ODS浅谈
2015-09-24 18:51
211 查看
ODS和DW
根据Bill.Inmon的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统” ;
ODS (Operational Data Store)操作型数据存储,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“集成的、当前或接近当前的、不断变化的”数据,一般不保留数据的变动轨迹,是数据仓库体系结构中的一个可选部分;
ODS行业建设:
常用术语:
ODS优缺点:
主要优点:
提供T+1同构表给MIS系统使用,减轻了对源交易系统的数据访问压力;
屏蔽了众多的、异构的数据库,例如DB2/400、sqlserver,物理上集中存放到oracle数据库,降低了MIS系统部署难度;
可以统一进行清洗和简单的处理,例如统一Trim;
提供部分整合后的主数据层供用户访问,可以降低源系统变化带来的影响;
对多个应用系统公用的数据指标可以统一加工,提供公共加工层表;
提供各源系统批处理结束标志,方便MIS日报开发;
对MIS系统的批处理作业可以提供统一调度;
提供部分表的历史数据保存,方便MIS使用;
缺点和不足:
改善源系统的数据质量的能力有限,例如:如果源系统没有最后修改日期字段,ODS也较难提供增量数据给后面的应用系统;
增大了数据错误的机率;如果通过ETL工具也可以直接访问多个源系统数据并完成数据加工,在数据准确性上保障更高;
因为不能掌握全部的源系统数据,例如繁多的登记薄,一段时间内还需要由需求推动同构表的分析和采集工作;
没有稳定的、面向主题的数据模型;
不能大量地保存历史数据;
批处理时间窗口内不能提供数据访问;
根据Bill.Inmon的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统” ;
ODS (Operational Data Store)操作型数据存储,ODS具备数据仓库的部分特征和OLTP系统的部分特征,它是“集成的、当前或接近当前的、不断变化的”数据,一般不保留数据的变动轨迹,是数据仓库体系结构中的一个可选部分;
ODS | DW |
主要是和源系统表结构相同,表结构随着源系统变化 | 面向主题的表模型,模型相对稳定 |
一般只保留最新数据或较短时间段的数据 | 历史数据,记录轨迹 |
追求时间窗口短,满足报表数据的实效性 | 批处理时间窗口较长 |
Update、Insert、Merge操作 | 主要是Insert操作 |
实施方案 | 特点 | 风险 |
数据仓库(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元数据、报表元数据、接口文件元数据、业务规则元数据等 |
主要优点:
提供T+1同构表给MIS系统使用,减轻了对源交易系统的数据访问压力;
屏蔽了众多的、异构的数据库,例如DB2/400、sqlserver,物理上集中存放到oracle数据库,降低了MIS系统部署难度;
可以统一进行清洗和简单的处理,例如统一Trim;
提供部分整合后的主数据层供用户访问,可以降低源系统变化带来的影响;
对多个应用系统公用的数据指标可以统一加工,提供公共加工层表;
提供各源系统批处理结束标志,方便MIS日报开发;
对MIS系统的批处理作业可以提供统一调度;
提供部分表的历史数据保存,方便MIS使用;
缺点和不足:
改善源系统的数据质量的能力有限,例如:如果源系统没有最后修改日期字段,ODS也较难提供增量数据给后面的应用系统;
增大了数据错误的机率;如果通过ETL工具也可以直接访问多个源系统数据并完成数据加工,在数据准确性上保障更高;
因为不能掌握全部的源系统数据,例如繁多的登记薄,一段时间内还需要由需求推动同构表的分析和采集工作;
没有稳定的、面向主题的数据模型;
不能大量地保存历史数据;
批处理时间窗口内不能提供数据访问;
相关文章推荐
- 把数据导出到Excel表格中的方式
- 从拓扑排序到广度优先搜索到单源最短路径
- redhat 6 配置 yum 源
- Google Chrome Source Code 源码下载
- 《iOS Human Interface Guidelines》——iOS App Anatomy
- git 记住用户名密码
- Linux开机过程的分析(关于bootsect.S)
- copypng emitted errors but did not return a nonzero exit code to indicate failure
- bulk load关于分隔符的问题
- 轻松搞定RabbitMQ(三)——消息应答与消息持久化
- (hdu step 7.1.2)You can Solve a Geometry Problem too(乞讨n条线段,相交两者之间的段数)
- shell脚本编程-检查和测试
- cocos基础教程(13)使用Physicals代替Box2D和chipmunk
- Efficient data transfer through zero copy
- 数据结构分析之线性哈希表(Linear Hash Tables)
- int 10 中断
- VRRP协议介绍
- hdu5452 Minimum Cut
- Zabbix监控mysql主从
- Shell