论文部分内容阅读
在数据仓库的构建过程中,工作量最繁重、问题最多的就是业务系统中的异构数据到数据仓库的迁移过程。ETL(抽取、转换和加载,Extraction-Transformation-Load)工具的任务是负责从不同种类和形式的操作型业务系统中抽取数据,进行必要的转换和清洗,将其加载到目标数据仓库。
本文针对数据仓库化建设过程的需求,主要对分布式环境的ETL过程的模型以及ETL过程中的数据转换和清洗服务进行了研究,包括:
1)根据ETL过程流程化的特点,一次ETL过程往往是对若干数据集合进行多个相关转换或清洗的有序组合,本文研究并设计了基于工作流的ETL模型,定义了一个包括流程、活动、转移和操作四个基本元素的ETL模型;并实现一个轻量级的工作流引擎,作为灵活设计和维护ETL过程的基础支撑。
2)由于ETL过程要处理的数据往往分布在不同结点的业务系统中,如果将这些数据进行集中式的处理,则对负责ETL过程处理的机器性能要求较高,同时原始数据的传输也要求较大的带宽。本文研究了分布环境中的ETL任务调度和协调框架,即由启动ETL过程执行的结点充当主控引擎,负责对ETL任务进行划分,并将这些任务分片分发到相关的结点;相应的结点接收到任务分片后,启动本地引擎完成ETL处理,通知主控引擎并返回输出结果。
3)研究设计了一系列的数据质量控制规则,包括模式级别的数据转换规则、实例级别的数据清洗规则,另外还提供支持数据仓库维护工作的增量ETL过程。
4)设计一套元数据模型来描述ETL过程,元数据记录了包括ETL过程的流程控制信息以及记录整个ETL过程中的抽取、加载策略和转换、清洗规则两个部分的信息。
在以上研究之上设计并实现了ETL原型系统"XTL",在原型系统上进行的实验表明:文中设计的基于工作流的ETL模型能正确的描述ETL过程,分布式ETL任务调度和协调框架能有效提高分布式ETL过程的性能,数据质量控制模块能有效帮助用户进行数据的转换和清洗工作。原型中ETL任务在分布式环境中的调度和协调具有一定的新颖性。