论文部分内容阅读
对当今社会的各行各业来说,数据仓库与信息分析已经不再是个新鲜的概念了,有越来越多的企业将数据仓库与信息分析作为自己快速发展的利器。而信息分析系统是由一系列具有强相关性的子系统构成的,从数据库管理系统,到数据抽取、转换、装载系统,到数据仓库管理系统,到数据分析和挖掘系统,再到前端报表展示系统,而其中处于中间位置的,起到数据流的承上启下作用的就要属数据抽取、转换、装载(ETL)系统了。
ETL系统的主要作用就是将各个数据源中的数据按照一定的要求抽取出来,然后经过数据清洗与格式转换,然后再将结果数据存放入目标数据存储系统(往往是数据仓库系统),所以ETL系统完成任务的质量高低直接影响到其后的数据分析工作。正因为ETL系统在信息分析领域中的重要地位,使得ETL系统变得炙手可热起来,已经有越来越多的国外软件供应提供商加入到开发ETL系统的队伍中来,但是在国内ETL系统的研发才刚刚起步。
本文则主要研究了如何建立一个ETL系统。
首先,本文对ETL为何作了解释,然后分析了当前存在的ETL系统的优势与不足并明确了本ETL系统的目标,接着着重阐述了实现本系统的几个关键问题,再接着描述了本系统的功能设计与界面设计,最后通过一个实验来检验系统第一阶段的开发成果。
本文的主要特色如下:
(1)系统的元模型遵循CWM标准
由于构成信息分析系统的诸多子系统是相互依存的,所以在不同的子系统之间就需要有这样一个机制使得它们之间能够相互理解对方的数据的含义。为了实现这一目标,公共仓库元模型(CWM)被提了出来,并逐渐成为信息分析软件行业领域中的一个元模型标准。为了能与市场上的其它信息分析系统相融,本系统将遵循CWM标准。为了实现这种标准,不仅本系统中核心类都直接或间接继承于CWM中定义的标准类,而且作为信息传递的XML文档的格式也遵循CWM规定的要求。这部分的内容将在第五章和第八章作详细介绍。
(2)系统的数据清洗策略
前面提到了,ETL的主要任务就是对数据的抽取(Extract)、转换(Transform)和装载(Load),紧接着在ETL任务之后要进行的数据一些数据的分析挖掘处理了,而我们知道如果想要在数据分析中取得好的效果,就必须有高质量的数据作为基础。为了保证经过ETL处理的数据具有较高的质量,就必须在ETL中对数据清洗作足文章,可是当前的ETL系统只对数据的转换方式比较在意,而数据清洗方面却做得较少。针对这一问题,本系统提出了一中基于替换形式的数据清洗策略。这部分的内容将在第六章作详细介绍。
(3)更适合国内企业使用的ETL系统
当前存在的ETL系统都是由国外的软件供应商开发的,在国内还没有成形的商业化ETL系统,而国外的系统又普遍存在费用昂贵、操作复杂、提供了很多几乎不被使用的功能等缺陷。所以本系统的目标之一就是要形成一个国产的、价格便宜的、使用简单的、满足国内中小型企业基本功能要求的ETL产品。当然为了与现存的国外ETL系统抗衡,在本系统中还实现了一些被国外ETL系统忽略了的功能,例如:用户在设计ETL任务时可以随时获得数据流经过某一清洗转换后的状态变化,以缩短任务开发过程;在转换时根据用户需要检测并清除或合并重复记录;对数据源中数据进行清洗后,用“干净”的数据替代数据源中的原始数据。