Oracle Data Integrator简介

发布时间:2011-11-23浏览次数:4921

Oracle Data Integrator简介

我校数字化校园已初具规模,十多个业务系统的建立,必然会涉及信息标准化、数据集成和共享,以及共享数据的实时更新或同步处理,目前我们主要是通过Oracle Data Integrator软件来实现的,因此作些简要介绍。

无论是 ETL 还是 E-LT,其基本目标是通过 Extract/Transformation/Load 这几个过程达到将源数据整合并放入目标数据库/数据仓库的过程。ETL 的基本思路是通过独立开发的转换引擎,将源数据抽取,在转换引擎中完成转换整合的过程,最终将数据载入到目标数据库或数据仓库。而E-LT的基本思路是充分运用源与数据RDBMS(关系型数据库)达成转换的目标,即运用RDBMS厂商提供的功能及SQL 语句完成转换,而非在自己开发的转换引擎中完成转换的过程,类似于通过手工编程的方式完成ETLE-LT的转换不仅发生在目的端,同样发生在源数据端。它的原则就是在转换效率最高的一端完成数据转换。但在通常情况下,将 Staging Area 建立在目的端。

1. Oracle Data Integrator 架构

Oracle Data Integrator 统合在一个模块化的数据仓库下,并可用基于 Java 编写的图形化开发 管理工具以及计划代理程序进行访问。

ODI 的数据仓库包括一个主仓库(Master Repository),用于保存用户及角色信息,连接其他数据库或数据源,不同版本的项目。一个主仓库包含一个或多个工作仓库(WorkRepository),包含具体的数据以及在用户与整合数据间建立关联。数据仓库可以建立在Oracle 数据库或其它数据库上,并可通过开发工具进行管理以及通过计划代理程序进行访问。

2ODI 提供了以下几种管理工具:

l 1Designer 用于定义数据转换逻辑,这是最常用的开发工具,大部分的开发任务,包括data store 的定义,interface(数据映射关系)和 package(相当于 workflow)的创建等,都是在 Designer 中完成。

2Operator 用于管理和监控数据转换任务的执行情况,在设计阶段,也可用于调试(debugging)

3Topology Manager 用于定义物理和逻辑基础架构,如 work repository 的创建和管理等。

4Security Manager 用于管理用户权限 以及一个计划代理程序:

    (5Schedule Agent 计划代理,用于调度执行数据转换任务。计划代理同时也带有一个数据转换引擎,但是ODI 采用 E-LT 架构,所以基本上计划代理只是将任务传递给目标库,其数据转换引擎很少用到。

3. Knowledge Modules [知识模型]

Oracle Data Integrator 之所以能适应不同的、多种多样的数据源,灵活有效的完成数据抽取/

转换/载入的过程,均是基于其知识模型体系。

Knowledge Modules 类似于程序中的插件,Oracle Data Integrator 将数据整合的任务抽象出 六个组成部分

1[反向工程]Reverse-engineering knowledge modules:用于从数据源读取表及其他对 象。

2[日记]Journalizing knowledge modules:用于为单一或一组表/视图记录新建的和修改的数据。ODI 支持部分数据源的 Change Data Capture(CDC)功能,前提为ODI项目中启用该模块。

3[加载]Loading knowledge modules:用于从数据源抽取数据。

4[检查]Check knowledge modules:用于检测抽取出的源数据的合法性。

5[集成]Integration knowledge modules:用于将 Staging Area 中的数据转换至目标表, 基于目标数据库产生对应的转换 SQL

6[服务]Service knowledge modules:提供将数据以 Web Services 的方式展现的功能。