论文部分内容阅读
一直以来,信息都是人们生活中很重要的东西,特别对于现代企业来说,信息的准确性和及时性就有可能决定它在商业中的成败。一般来说,按获取方式可分为两种:一种是网络新闻媒体等直观的信息,而另一种则是由相关的数据分析推测出来的信息。由于前者比较直接且公众化,故往往竞争优劣的重点就落在第二种方式上。为了做好第二种获取信息方式,就离不开数据仓库的建设。数据仓库就是一个信息提供平台,它从企业内部业务处理系统,或企业外部环境获取源数据,以星型模型和雪花模型进行数据组织、整理归纳和重组、存储,以便供BI(经营分析系统)、数据集市,或者数据挖掘使用。数据仓库建设其实就是一个工程,除了需要有优秀的数据库软件和相应的数据仓库模型外,更重要是要有精确的数据源和为按照模型分析统计的作业,并保证作业先后顺序执行的机制,决定这些的关键就在于ETL和调度选择。ETL (Extract-Transform-Load),用于描述把数据由来源端通过抽取(extract)、转置(transform)、加载(load)到目的端的过程;目前,市场上有很多成熟的ETL产品,从来源厂商来看,主要分为两种:一是数据库厂商自带的ETL工具,例如Oracle warehouse builder、 Oracle Data Integrator;另一种是第三方工具提供商,例如:Ascential公司的Datastage、Informatica公司的Powercenter、NCR Teradata公司的ETL Automation Kettle等。这些产品都有各自优缺点,要么工具各个方面都比较优秀,但价格不菲;要么就是不便维护,功能偏弱,达不到ETL要求,特别是对于作业调度方面,难以实现高效工作流配置。因此,本文以作者多年的电信和银行的ETL经验,用市场上最普遍的ORACLE为数据库平台,参考ORACLE官网文档,借用ORACLE自身DBMS_SCHEDULER调度和DBLink批量抽取数据等优秀功能,用最基本的PL/SQL语言来开发实现ETL与调度功能。:本次研发的结果代码在ORACLE10G版本可直接部署运行,是一款运维简单、性能高效、可扩展且无需额外购买第三方和单独服务器的小型ETL工具。