简单介绍一下ODI的几个基本概念
简单介绍一下ODI的几个基本概念
ODI的几个基本概念是本文我们主要要介绍的内容,接下来我们就开始介绍这一过程,一起来看看吧!
什么是资料库
ODI资料库可安装在任何支持ANSIISO89的数据库中。资料库分两种:
1、MasterRepository,保存企业所有IT资源的Topology,保存项目和数据模型的安全信息、版本信息,供ODI图形模块等使用。通常创建一个即可。MasterRepository要尽可能独立存储,单独的Instance,或单独的Schema。
2、WorkRepository,保存项目和数据模型,供ODI图形模块等使用。可创建多个。一个WorkRepository只能连接一个 MasterRepository。一个Schema只能存储一个WorkRepository,不过MasterRepository倒可与其安装在同 一Schema。
Oracle实验室已验证通过的数据库有:HypersonicSQL、IBMDB2UDB、IBMDB2/400、Informix、 MicrosoftSQLServer、Oracle、SybaseASAnywhere、SybaseASEnterprise、SybaseASIQ 等。
什么是Topology
TopologyManager主要用来管理下面5类任务,并将信息存储在主资料库中,供所有模块共享使用。
1、物理体系结构,定义各种技术及其数据服务器、物理架构、物理代理。
2、逻辑体系结构,定义各种技术及其关联的逻辑架构、逻辑代理。
3、上下文,用来连接物理架构和逻辑架构。
4、语言,不同技术所能采用的语言特性。
5、资料库,包含主资料库及其附属的工作资料库。
这里重点再看几个概念:
1、技术和数据类型:ODI将不同的数据库(Oracle、DB2等)、文件格式(XMLFile等)、应用系统,用不同的“Technology”来表示。每种技术都有自己支持的“DataType”。
2、数据服务器:在ODI中,每个数据库服务器、JMS消息文件、每组文本文件必须先定义为“DataServer”。
3、物理架构:在数据服务器下,每个用户、JMSTopic、文本文件必须定义为一个“PhysicalSchema”。
4、物理代理:在物理体系结构需要定义“PhysicalAgent”,允许在远程机器上执行ODI任务。
5、逻辑架构、逻辑代理是物理架构、物理代理的逻辑组合,方便用户管理和使用。
什么是知识模块
OracleDataIntegrator之所以能适应不同的、多种多样的数据源,灵活有效的完成数据抽取/转换/载入的过程,均是基于其知识模型 体系。KnowledgeModules类似于程序中的插件,OracleDataIntegrator将数据整合的任务抽象出六个组成部分:
1、反向工程RKM,Reverse-engineeringknowledgemodules,用于从数据源读取表及其他对象。
2、日记JKN,Journalizingknowledgemodules,用于为单一或一组表/视图记录新建的和修改的数据。ODI支持部分数据源的ChangeDataCapture(CDC)功能,前提为ODI项目中启用该模块。
3、加载LKM,Loadingknowledgemodules,用于从数据源抽取数据。
4、检查CKM,Checkknowledgemodules,用于检测抽取出的源数据的合法性。
5、集成IKM,Integrationknowledgemodules,用于将StagingArea中的数据转换至目标表,基于目标数据库产生对应的转换SQL。
6、服务SKM,Serviceknowledgemodules,提供将数据以WebServices的方式展现的功能。
ODI逻辑架构:
一个物理模式(physicalschema)由一个ownerschema和一个workschema组成,workschema主要用于一些临时表等对象,考虑单独创建用户维护这个对象.
ODI物理架构:
一个逻辑模式(logicalschema)是物理模式的别名,防止用户更改数据库服务器IP地址,用户名,数据库服务器密码等信息.可以理解为同义词,避免用户在使用过程中加入数据库dblink.物理模式的修改,不影响逻辑模式.
ODI上下文:
物理模式信息的修改不影响逻辑模式的引用,但如果物理模式数据库服务器的连接信息改变,就比较麻烦.上下文的出现就是允许逻辑模式通过上下文连接多个物理模式,避免因为连接信息改变而重新定义.当然,上下文是匹配所有物理模式的.
ODI在设计开发阶段是通过引用逻辑模式完成的.在执行阶段,通过上下文找到相应的物理模式,然后执行转换.如果需要在上下文中执行一个对象,必须在上下文中匹配逻辑模式.在上下文中,几乎一个逻辑模式匹配一个物理模式.
关于ODI的几个基本概念的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!
简单介绍一下ODI的几个基本概念的更多相关文章
- [原创]关于mybatis中一级缓存和二级缓存的简单介绍
关于mybatis中一级缓存和二级缓存的简单介绍 mybatis的一级缓存: MyBatis会在表示会话的SqlSession对象中建立一个简单的缓存,将每次查询到的结果结果缓存起来,当下次查询的时候 ...
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- yii2的权限管理系统RBAC简单介绍
这里有几个概念 权限: 指用户是否可以执行哪些操作,如:编辑.发布.查看回帖 角色 比如:VIP用户组, 高级会员组,中级会员组,初级会员组 VIP用户组:发帖.回帖.删帖.浏览权限 高级会员组:发帖 ...
- angular1.x的简单介绍(二)
首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...
- Linux的简单介绍和常用命令的介绍
Linux的简单介绍和常用命令的介绍 本说明以Ubuntu系统为例 Ubuntu系统的安装自行百度,或者参考http://www.cnblogs.com/CoderJYF/p/6091068.html ...
- iOS-iOS开发简单介绍
概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...
- iOS开发多线程篇—多线程简单介绍
iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
随机推荐
- echo向文件中写入
echo命令向一个文件写入内容的方法详解,感兴趣的朋友可以参考下. 覆盖型写法 (文件里原来的内容被覆盖)echo "aaa" > a.txtecho aaa > a. ...
- Linux学习之常用技巧
▌基础 学习 Bash .你可以man bash来看看bash的东西,并不复杂也并不长.你用别的shell也行,但是bash是很强大的并且也是系统默认的.(学习zsh或tsch只会让你在很多情况下受到 ...
- php实现两分法查找
两分法查找的前提:顺序方式存储,而且必须是排好序 直接上代码: function search($array, $target, $low = 0, $high = 0){ $len = count( ...
- codeforces 652D . Nested Segments 线段树
题目链接 我们将线段按照右端点从小到大排序, 如果相同, 那么按照左端点从大到小排序. 然后对每一个l, 查询之前有多少个l比他大, 答案就是多少.因为之前的r都是比自己的r小的, 如果l还比自己大的 ...
- Windows2008 VPN登录
上一章已经讲过Windows2008RT搭建VPN服务器搭建过程,接下来说一下win2008和win8的VPN登录 win8VPN连接过程 先说win2008的VPN登录过程.很简单: 打开网络和共享 ...
- Windows 7 with SP1简体中文旗舰版(微软MSDN原版)+ 激活密钥
在Windows 7六个版本中,旗舰版和企业版功能性能完全一样,同属诸版本之中的最高版本.现提供Windows 7 with SP1简体中文旗舰版(微软MSDN最新原版)+ 激活密钥如下: 32位版本 ...
- APUE读书笔记-第14章-高级I/O
14.1 引言 *高级I/O包括非阻塞I/O.记录锁.系统V流机制.I/O多路转换(select和poll函数).readv和writev函数以及存储映射I/O(mmap) 14.2 非阻塞I/O * ...
- Effective C++ 条款11
在operator=中处理"自我赋值" 什么是自我赋值,非常明显. 就是自己的值赋值给了自己.以下的代码就是自我赋值: class Widget { public: Widget& ...
- 3.类型、值和变量-JavaScript权威指南笔记
开始变得有意思起来了,然而第三章还是以基础知识了解的角度阐释相关的概念,并没有深入到结合代码以及要实现的功能讲用法和原理的程度. 1.概论. value:程序的运行是对值的操作. type:能够表示并 ...
- SQL学习之使用视图
1.简介:视图是虚拟的表.与包含的数据不一样,视图只包含使用时动态检索数据的查询.重点:视图是一个查询,不是一个表!