ODS浅析
2016-07-20 10:20
190 查看
1,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工具也可以直接访问多个源系统数据并完成数据加工,在数据准确性上保障更高;
因为不能掌握全部的源系统数据,例如繁多的登记薄,一段时间内还需要由需求推动同构表的分析和采集工作;
没有稳定的、面向主题的数据模型;
不能大量地保存历史数据;
批处理时间窗口内不能提供数据访问;
相关文章推荐
- 如何判断大小端
- php提交表单不刷新页面
- 平衡搜索树
- 游戏策划一类的,非常好
- Ubuntu Navicat正版永久使用方法
- .NET Core Roadmap
- c++ this 指针的理解
- POJ - 3009 - Curling 2.0(dfs)
- AppCan应用开发之插件实践篇-支付插件
- linux中~和斜杠的区别
- Android 缓存的编写应用
- Centos6两个镜像文件的合并方法
- 欲先攻其事必先利其器 (第三方资源篇)
- widow下svn上传项目时的文件可执行权限问题
- 92. Reverse Linked List II
- Codeforces-Round-#363- One Bomb
- PHP编译安装时常见错误解决办法
- 根据时间和类型生成一个唯一的id
- linux下进度条的简单实现
- js 把xml与json互相转化