ODI学习笔记2--ODI产品架构
ODI产品架构:
![]()
ODI提供了以下几种管理工具:
Designer 用于定义数据转换逻辑,这是最常用的开发工具,大部分的开发任务,包括data store的定义,interface(数据映射关系)和package(相当于workflow)的创建等,都是在Designer中完成。
Operator用于管理和监控数据转换任务的执行情况,在设计阶段,也可用于调试(debugging)
Topology Manager用于定义物理和逻辑基础架构,如work repository的创建和管理等。
Security Manager用于管理用户权限
以及一个计划代理程序:
Schedule Agent计划代理,用于调度执行数据转换任务。计划代理同时也带有一个数据转换引擎,但是ODI采用E-LT架构,所以基本上计划代理只是将任务传递给目标库,其数据转换引擎很少用到。
可扩展的知识模型(Knowledge Modules)
ODI能够从各种异构的数据库平台和基于信息队列的技术(Web services)加载、转换数据,并且具有灵活性、可扩展性和有效性等,主要是依靠知识模型;
知识模型作为ODI的插件,封装了各种针对面向特定数据源和Target的ETL过程。ODI提供了六种知识模型,如下图所示:
![]()
RKM:完成从源系统和目标系统的数据结构的反向工程来形成数据模型的功能。
JKM:完成捕获CDC,执行增量抽取以及工作任务安排的数据模型功能。
LKM:LKM完成从源数据库数据加载到临时表。
CKM:CKM完成数据质量检查。
IKM:IKM完成从临时表的数据加载到目标表。
SKM:SKM完成ODI和WEB服务接口的功能。
Data-Quality Firewalls
通过使用CKM知识模型,仅仅允许那些符合业务规则的数据进入集成进程,以此能够把不符合规则的数据拦在数据源端,从而保证数据质量!
Support for Changed-Data Capture
JKM知识模块负责监测源数据库变化的数据,有些数据库供应商,比如Oracle直接支持CDC,另外一些供应商则通过比如触发器技术捕获DML语句。
Oracle Data Integrator in Relation to Oracle Warehouse Builder
OWB在涉及SOA和非Oracle 数据源方面上无能为力,但两者又是互补的关系,看下图:
![]()
ODI能过从基础各种各样异构的数据源,包括Web Services和基于事件的架构。一旦数据被集成复制进入DW Staging area,OWB开始接管接下来的任务,包括创建ODS以及多维模型等。
参见:
http://www.oracle.com/technology/pub/articles/rittman-odi.html
http://snipkingderek.spaces.live.com/blog/cns!EE24905211C3FFD!399.entry
ODI学习笔记2--ODI产品架构的更多相关文章
- Angular快速学习笔记(2) -- 架构
0. angular 与angular js angular 1.0 google改名为Angular js 新版本的,2.0以上的,继续叫angular,但是除了名字还叫angular,已经是一个全 ...
- HBase学习笔记(四)—— 架构模型
在逻辑上,HBase 的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列. 但从 HBase 的底层物理存储结构(K-V)来看,HBase 更像是一个 multi-dimensional m ...
- 学习笔记TF048:TensorFlow 系统架构、设计理念、编程模型、API、作用域、批标准化、神经元函数优化
系统架构.自底向上,设备层.网络层.数据操作层.图计算层.API层.应用层.核心层,设备层.网络层.数据操作层.图计算层.最下层是网络通信层和设备管理层.网络通信层包括gRPC(google Remo ...
- SpringMVC学习笔记之一(SpringMVC架构及与Mybatis整合)
一.SpringMVC入门 1.1Springmvc是什么 Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来,如 ...
- Hadoop学习笔记1---简介 优点 架构分析
一.Hadoop简介 Hadoop最早起源于Nutch.Nutch是一个开源的网络搜索引擎,由Doug Cutting于2002年创建.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取. ...
- 硝烟中的scrum和xp学习笔记 - 怎样编写产品backlog
产品backlog是scrum的核心,也是一切的起源. 从根本上说,它就是一个需求/故事/特性组成的列表,按照重要性的级别排序. 我们叫它story, 或者backlog(条目). Backlog I ...
- Hadoop学习笔记一(HDFS架构)
介绍 Hadoop分布式文件系统(HDFS)设计的运行环境是商用的硬件系统.他和现存的其他分布式文件系统存在很多相似点.不过HDFS和其他分布式文件系统的区别才是他的最大亮点,HDFS具有高容错的特性 ...
- 论文学习笔记--无缺陷样本产品表面缺陷检测 A Surface Defect Detection Method Based on Positive Samples
文章下载地址:A Surface Defect Detection Method Based on Positive Samples 第一部分 论文中文翻译 摘要:基于机器视觉的表面缺陷检测和分类可 ...
- Prometheus监控学习笔记之Prometheus的架构及持久化
0x00 Prometheus是什么 Prometheus是一个开源的系统监控和报警工具,特点是 多维数据模型(时序列数据由metric名和一组key/value组成) 在多维度上灵活的查询语言(Pr ...
随机推荐
- javascript中对象的不同创建方法
javascript中的对象与一般的面向对象的程序设计语言(c++,Java等)不同,甚至很少有人说它是面向对象的程序设计语言,因为它没有类.javaScript只有对象,不是类的实例.javascr ...
- TreeSet类的排序问题
http://www.cnblogs.com/lixiaolun/archive/2012/12/25/2832775.html TreeSet支持两种排序方法:自然排序和定制排序.TreeSet默 ...
- leetcode Linked List Cycle II python
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = ...
- [转]前端CSS规范整理
一.文件规范 1.文件均归档至约定的目录中. 具体要求通过豆瓣的CSS规范进行讲解: 所有的CSS分为两大类:通用类和业务类.通用的CSS文件,放在如下目录中: 基本样式库 /css/core 通用 ...
- 【grunt整合版】学会使用grunt打包前端代码
grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...
- SVG image xlink:href 设置失败
公司比较频繁的业务需求,需要在地图上面,标注地区的信息,考虑到兼容性问题,在实际开发中是通过raphael.js绘制地图信息,进行相关交互 产品部门同事辛苦的画SVG地图,可配置地图块与实际地区cod ...
- Nodejs学习笔记——Assert(断言)
Assert - a:actual e:expected m:message o:operator v:value b:block assert.fail(a, e, m, o) assert(v, ...
- django note
2016-2-9 Unknown command: 'syncdb' solution: syncdb command is deprecated in django 1.7. Use the py ...
- windbg 调试技巧
技巧一:在加载名卸载的时候下断点 1. 加载某个DLL 的时候下断点的WinDBG 命令: sxe ld:[dll name] 然后按F5,进行刷新,再使用lmf 查看装载的Dll名称. 2. 卸载 ...
- linux win7双系统
真恨我自己啊,刚在linux下写了这个博客,因为没有分类,添加了个linux分类.按了F5刷没了.靠,哪里有心情复述啊 一直想装直接装linux系统,现在实现他,以后也要跟上linux的笔记,不然都对 ...