简单介绍一下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 ...
随机推荐
- 用JavaScript获取地址栏参数的方法
/** * 获取地址栏参数 * * @example GetUrlString('id') * * @desc 调用时加上判断,保证程序不会出错 * var myurl = GetUrlString( ...
- VB EditGrid的用法
百度了一下,关于vb 6.0 EditGrid的用法 查不到资料
- Open source and free log analysis and log management tools.
Open source and free log analysis and log management tools. Maintained by Dr. Anton Chuvakin Version ...
- C++ 下 typeof 的实现
现在我们有这样一坨代码: std::vector<int> arr; // ... for(std::vector<int>::iterator iter = arr.begi ...
- C++ string实现原理
C++程序员编码过程中经常会使用string(wstring)类,你是否思考过它的内部实现细节.比如这个类的迭代器是如何实现的?对象占多少字节的内存空间?内部有没有虚函数?内存是如何分配的?构造和析构 ...
- poj1656---数黑格子
题意:有white,black,test操作 black将给定范围涂黑,white将给定范围涂白,test将给定范围的黑格子数出来并且输出 思路:无论哪个操作格子范围都在 (x,y) (x+L-1 ...
- CSS实现宽高成比例缩放
用js实现一个宽度自适应,高度随着宽度变化而变化的矩形,相信大家肯定都会.无非是js获取一下元素宽度,然后再计算出相应比例的高度,然后赋给元素,但如果要求只用CSS实现呢. html代 ...
- Xcode5新特性
小引: 自从北京时间2013年06月11日苹果发布Xcode 5 Developer Preview 1,到现在,苹果也放出了Xcode 5 Developer Preview 3,速度还是蛮快的,希 ...
- lucene3.6笔记添加搜索功能
lucene为程序添加搜索功能,此功能基于已创建好的文档的索引之上.这里我已经为一些文档建立了索引,并保存到硬盘上.下面开始针对这些索引,添加搜索功能. 1.简单的TermQuery搜索 Java代码 ...
- 数据结构中La表的数据合并到Lb表中
实验描述:La表中的数据为(3,5,8,11) Lb 表中的数据为(2,6,8,9,11,15,20) 将La表中的数据而不存在Lb表的数据插入到Lb表中,从而实现并集操作. 出现的问题:最后实现的 ...