资源描述
数据集成工具的研发
数据集成(ETL)工具的设计与构建
陈小菲
经过几十年来快速不断的IT创新造就了大批综合性的、分布式的且不断变化的应用系统,这些系统跨越了从大型机到Web的多种平台,因此不同系统的互连成了亟待解决的问题。如何发挥这些系统中各种数据的作用,将不同应用系统的数据进行提炼、整合,并充分利用已有的技术及应用资源,建成一个完整的、可持续发展的集成系统,数据集成工具成为一种重要的技术,面对多种技术环境开发的基础业务系统,把业务数据迁移到综合业务系统和决策分析系统,并进行有效整合。
数据集成工具主要包括以下几个过程:抽取、清洗、转换和加载等,本文中数据集成工具简称为ETL工具。在实际项目中,本ETL工具已开始实现研发和试用,本文将对ETL工具的设计思想与功能实现等内容进行讨论。
一、ETL工具的功能目标
本ETL工具以各种技术环境开发的基础业务系统为基础,把业务数据迁移到综合业务系统和决策分析系统,并进行有效整合,建成一个完整的集成数据库系统,因此在企业应用集成(EAI)系统中,ETL工具扮演着相当关键的角色,以下是EAI数据集成模型图,箭头表示的数据迁移过程需要通过ETL工具实现。
图 1 数据集成模型
1、主要功能
ETL工具主要功能可分为两部分:数据集成配置和数据集成服务,具体如下:
(1)数据集成配置:提供一个GUI界面,使得用户能够通过界面的互动,比较容易地实现数据集成的流程、规则的定义;同时提供相应的解析功能,实现将配置规则进行解析,并对数据进行集成。最后能够定义并执行相应的抽取计划。
(2)数据集成服务:提供相应的解析功能,实现对集成规则的解析,服务读取这些规则,生成集成任务,在后台进行运行数据集成。并且把这些集成信息发布出来,可以让其它集成工具进行信息共享。
2、特点
(1)易用性:数据集成工具进行抽取任务配置时,比较繁锁,而本ETL工具在进行抽取任务配置时可以做到简单易学,易用;同时配置操作也流程化,易于理解。
(2)稳定性:本ETL工具进行任务执行,保证抽取任务的正常进行。运行稳定,不轻易发生系统错误,不轻易发生程序死机。
(3)可靠性:本ETL工具进行任务抽取时,能可靠地完成抽取,源数据到目标数据的抽取误差低于0.01%,对于因特殊情况无法进行抽取的,或中途停止无法抽取的系统将记录详细信息。
(4) 执行效率:本ETL工具对大数据量进行数据抽取,可以保证对大数据量的抽取在正常情况下能较好地执行,在一定时间内完成对大数据量的抽取。
二、ETL工具的总体架构设计
图 2 ETL工具总体架构
如图2所示,ETL工具主要包括配置工具和抽取服务两个部分内容。
1、配置工具
配置工具的开发工具选择E++。其主要实现以下功能:
●数据集成工具的抽取任务规则配置
将提供一个GUI界面的配置工具,实现对抽取任务的配置。用户可以通过界面的互动,比较容易实现数据集成工具抽取规则的配置。
●抽取任务规则解析
对配置后的抽取规则进行解析,服务读取这些规则,生成抽取任务。
根据以下流程进行主要的设计工作:
●数据集成(抽取):提供GUI界面由用户录入源数据源、目的数据源、抽取规则。
●数据源定义:实现数据源信息的录入,并对数据源进行连接测试。
●抽取方案定义:配置数据抽取的信息及规则。
●抽取任务定义:在数据抽取方案定义完成后,定义数据抽取方案的执行规则。抽取执行定义为“执行任务”,每个“执行任务”包含有一个或者多个抽取方案及子任务。每个“执行任务”具有相同的执行规则,方案执行也具有一定的顺序。
●资源共享:解决异地抽取的问题,对某些表的结构进行共享。
2、抽取服务
抽取服务的开发工具选择JAVA。主要实现以下功能:
●抽取服务
抽取服务读取抽取配置规则将包含:库到库、表到表、多表到单表、文件到表、表到文件的各种规则抽取。根据抽取规则执行抽取任务,实现数据抽取。
l 抽取信息进行数据共享
集成工具将对配置好的抽取信息进行发布,让其它的集成工具进行共享。并要对集成工具实现抽取的数据进行互通。
根据以下流程进行主要的设计工作:
●系统参数定义
系统参数在“系统配置参数表”中定义,包括参数名、参数值及说明等。
数据集成工具系统参数定义,如表1:
表1 参数定义表
参数名
参数值
注释
BD_BATCH_COUNT
1000
数据集成工具数据每批数据大小
MAX_LINE_PER_PAGE
10
每页显示最大的行数
MAX_RESULTSET_COUNT
500
查询时返回的最大行数
●系统配置接口引擎
数据集成工具的配置工具为C++开发的,同时又要做到数据集成工具可以支持多种平台。所以数据集成工具服务端和配置工具将可能分布在两台机子上,数据集成工具的配置文件又必须和服务端一起部署,配置工具对抽取配置文件的读、写就调用系统的配置接口引擎进行操作。
●系统初始化
在数据集成工具服务器启动时,必须事先进行初始化。提高程序的整体运行效率,系统初始化包含3个部分,分别对通用信息初始化、Xml配置文件初始化、抽取调度器初始化。
●抽取器配置规则信息解析
配置工具完成配置后,系统启动将对配置完成的信息读入,解析出抽取规则。解析抽取规则是在抽取方案定义完成后,对抽取方案的规则进行解析。抽取器解析配置信息必须在抽取配置方案定义完成后进行解析。
●抽取规则定义
在实际抽取中必须满足多种规则进行定义,然后抽取器读取解析规则。启动抽取任务实现抽取。抽取方案根据已定义好的模型定义,抽取定义规则主要包括:多表到单表抽取;组合抽取;表到文件;文件到表;与数据交换平台紧耦合。抽取数据规则定义后,可以设定是否建立目标表,目标表也可以由用户自行建立。
●抽取任务查看控制
抽取任务启动后,用户可以登录到抽取器服务器进行查看抽取任务的运行情况。
●数据共享信息接口
数据共享信息接口,可以共享在本抽取器中所有配置出来的数据对象。其它抽取器在取得统一的通信录后,根据通信录任意选择一个网点抽取器,下载这个网点抽取器的数据对象列表。得到数据对象列表后,选择合意的数据对象对这个抽取服务器发出请求,抽取服务器在接收到请求数据对象后,通过数据共享信息接口发布出这个数据对象的详细信息和数据,但考虑到数据的庞大,对于每次请求会限制源数据量,如每次只请求100~1000条,得到数据处理后继续请求下一批的数据。
●抽取器统一通讯录分发
抽取器进行数据共享将统一通讯地址,通讯地址记录在这个中心抽取服务器下的所有节点抽取服务器的地址。对于这些地址由中心抽取服务器统一收集,发布给属于这个中心服务器的所有节点中心服务器。
●抽取器抽取核心服务
抽取器核心服务将分为抽取和填充模块,抽取器抽取模块根据抽取规则定义,解析抽取源对象和抽取目标对象,组织抽取源匹配表达式。完成抽取源数据流。填充模块将完成对根据抽取规则抽取到的源数据,按照设定填充到目标表中。
三、目前国内外类似工具的技术发展比较
目前主要是国外五大公司已设计出类似的数据库工具,其功能及优缺点等比较表2:
表2 类似的数据库比较表
公司
产品名称
支持数据库系统
优点
缺点
Microsoft
Data Transformer Server (DTS)
ODBC
系统管理界面友好、易用。是最系统最易用、扩展性最好、编程效率最高的数据抽取工具。
数据抽取速度不是很快;不能扩充到Unix工作站、小型机、大型机使用。
CA
Advantage Data Transformer Enterprise (ADTE)
Oracle、Sybase、Microsoft SQL Server、DB2/MVS & DB2 UDB、Informix、文本文件(ASCII 和 EBCDIC)、SAP R/3 (只支持源)、AS/400、ODBC
无缝地抽取并集成各种相关和非相关来源的数据;从所有的主要数据库中捕捉元数据;便捷、快速、高效的图形用户界面;复杂的转换可以轻而易举地以更短的时间和更低的成本完成。
在保证程序的高效性和准确性方面提供的措施太少。虽然性能较好,但价格昂贵,是同类产品中性价比较低的产品。
Oracle
Oracle Warehouse Builder
(OWB)
Oracle7.3 到 Oracle8i、XML、透明网关(SQL Server、IBM DB2、Sybase、Informix)、文本
具有开放可延伸的框架。
提供的流程很繁琐,不易于使用。
Sybase
Informatica PowerMart
DB/2, Informix, MS Access, MS SQL Server, NCR Teradata, Oracle, Sybase, 平面文件,ODBC及其它
友好的GUI设计界面;可嵌入编程;完整的管理体系
抽取效率不是很高;价格比较高
IBM
DB2 Warehouse Manager
(WM)
DB2, Oracle, Sybase, Informix, Microsoft ,普通文件,ODBC和OLE DB数据源。
VW能够从广泛的数据源抽取数据,并在大数据量的抽取中充分显示了速度优势。VW提供编程接口,提供调用外部程序的功能,能够按计划自动执行数据抽取,提供对Cube处理的功能。
较纯粹的数据仓库工具,更多功能仅用于数据的分析、报告的产生和结果的展现。
本文所论述的ETL工具
Oracle, Sybase, Informix, Sql server ,ODBC、普通数据文件。
1、 平台化、模块化设计思路,基于配置实现。
2、 具有发现数据关联性,并存储、维护关联功能。
3、 通过文件交换方式维护集成的数据。对业务部门影响小,并保证业务部门数据库安全。
4、 完善的问题数据发现、维护机制。
5、 针对性强,可以根据实际需求进行二次开发。
6、 性价比高。
非完全可视化设计。
四、结语
本数据集成工具各项子模块已完成,处于试运行阶段,从运行效果看,本ETL工具各项功能均能满足设计要求,具有易用、稳定、可靠、执行效率高等特点,达到预期目标,且比国外类似产品的功能性价比更高。
第 6 页 共 6 页
展开阅读全文