论文部分内容阅读
随着信息技术的飞速发展,企业内部产生了越来越多的数据,但这些数据并没有产生应有的信息,这就出现了“数据爆炸,知识贫乏”的局面,数据仓库技术应运而生。数据仓库是一个面向主题的、集成的、不断更新的且随时间不断变化的数据集合,数据仓库是支持企业决策分析的核心技术。数据仓库的目的是为了建立一种体系化的数据存储环境,将分析决策所需的大量数据从传统的操作环境中分离出来,使分散、不一致的操作数据转换为集成、统一的信息。然而,这个过程并非易事,这里所谓的传统的操作环境,是指企业在不同时期、在不同的背景下开发出来的事务处理系统,这些业务系统的建立,也往往是面向不同的应用、由不同的开发商来完成的,其数据的存储结构、存储平台和系统平台具有很大的异构性。如何将这些异构的数据有效地集成到数据仓库中,是企业所面临的一个难题。企业需要一个全面的解决方案来解决数据的一致性和集成化问题,使我们能够从所有传统平台和环境中采集数据,并利用一个单一的解决方案对其进行高效的转换,这个解决方案就是ETL。 ETL(Extract、Transform、Load),数据抽取转换装载系统,一般把它简称为数据抽取系统。ETL包括三个方面:首先是抽取,将数据从各种原始的业务系统中提取出来,这是所有工作的前提;其次是转换,按照预先设计好的规则对抽取的数据进行转换,使得本来异构的数据格式能够统一起来;最后就是加载,将转换好的数据按计划增量或者全部导入到数据仓库中。 可以说,ETL在传统的业务系统和数据仓库之间架立起了一座桥梁,确保新的数据能够源源不断地进入数据仓库。从整体的角度来看,ETL的主要作用在于其屏蔽了复杂的业务逻辑,从而为各种基于数据仓库的分析和应用提供了统一的数据接口。虽然ETL的技术含量相对来讲不算高,但其涉及到大量的业务逻辑和异构环境,因此在一般的数据仓库项目中,ETL部分往往是牵扯精力最多的。随着银行业务的不断增多,系统的数据量也迅速膨胀,年业务数据量往往是以G为单位,一些比较大的银行,年业务数据量甚至达到了几十G,乃至上百G。如此海量的数据,对ETL的运行效率提出了新的要求。 在传统的数据仓库建设中,往往强调数据仓库本身的建模和前端数据展示,而对ETL的设计和建模关心不足,使ETL过程反复进行,甚至导致项目实施的失败。从国内外众多的实践得到普遍的共识是ETL设计与实施的工作量要占到整个数据仓库项目时间的60%-50%o ETL在数据仓库建设的重要地位越来越得到人们的关注。 本文以某商业银行稽核系统为平台,在以下两个方面进行了深入研究:ETL架构设计和ETL任务模型设计。ETL架构设计属于ETL过程的物理结构,类似于工厂中的设备;而ETL任务模型设计属于ETL过程的逻辑结构,类似于工厂生产的调度、指挥等等。可以说,这两