NeverGO Studio

 

Oracle ODI系列之三(ODI和OWB)

Oracle ODI系列之三(ODI和OWB)

简介
Oracle的OWB(Warehouse Builder)和ODI(Data Integrator)都是使用E-LT的理念设计出来的数据抽取/数据转换工具,他们本身都可以作为一个ETL工具使用但是也有不同的特点,本文主要讨论他们之间的差异和关系。

ODI和OWB
ODI和OWB是互为补充的,ODI有四个地方是对OWB的很好的补充:
1. 对于需要异构数据支持:当数据源或者目的不是Oracle数据库,ODI能够生成针对那个数据源的native的SQL操纵语句。
2. 对于需要实时数据集成的环境:ODI能够检测事件,一个事件可以触发ODI的一个接口流程。从而完成近实时的数据集成。下图是ODI提供的一些检测事件的工具,可以用在package里(ODI workflow的代名词)如OdiFileWait是等待文件到达,OdiSleep类似于许多系统里的Sleep等待轮询,OdiWaitForLogData则可以用于捕获增量数据的捕获的事件。这里的组件都是实现实时数据集成的关键部分。
3. 在数据抽取集成过程中需要和SOA集成,ODI本身提供了call web service的机制,并且ODI的接口也可以暴露为webService,从而可以和SOA环境进行交互。
4. 一致的CDC(Change Data Capture)支持,不同的数据源(Oracle,DB2等)对于变化数据获取都提供了不一样的技术框架,ODI把这些不同的技术框架屏蔽了,以一个统一的接口方式提供统一的CDC的设置框架,并提供订阅者的功能。

而OWB相比于ODI也有自己的很多特点:
1. 丰富的Oracle数据运算符,能够提供Oracle数据库之间的高速转换抽取。
2. 从11g开始,OWB会作为Oracle的标准选件来提供,OWB本身会通过Oracle数据库的安装盘来安装,和所有的其他Oracle选项一样,都会和数据库核心紧密集成。
3. 数据质量管理:OWB的data profiling是一个相当强的数据质量管理工具,原理和流程是 数据采样-》分析采用数据的错误和规则-》生成纠正采样数据的mapping流程-》验证流程-》把流程应用到所有的数据上的循环。

小结
OWB本身除了运行需要较多的资源之外,本身是一个设计得相当好的工具(身边一些用过的人都评价还是很不错呀!),对于Oracle数据之间的抽取转换的功能完全不是任何别的工具可以比的,当然OWB的主要不足都体现在ODI里了,所以,OWB和ODI是完全互相补充的工具,如果是要同时在建设一个数据中心的项目里使用这两个工具的话,可以使用ODI来完成从异构数据源到staging Oracle数据的生成,或者用ODI完成需要实时数据同步的工作,而OWB可以用于从staging Oracle数据到Oracle数据仓库的Oracle数据源之间的工作,这样应该是最完美的设计。当然单独用OWB或ODI其实都可以完成这些工作,只不过这两个工具合并起来用,应该是一个大型数据仓库项目的非常好的方式。如下图


注:本文的一些内容参考了OTN上的一篇文章http://www.oracle.com/technology/pub/articles/rittman-odi.html

posted on 2009-08-23 09:55  梦圆工作组  阅读(3500)  评论(0编辑  收藏  举报

导航