充值信息

赞助信息

推荐给好友 上一篇 | 下一篇

基于SOA和工作流的数据仓库更新系统(一)



1.1 研究背景

    第一章绪论

    在激烈的市场竞争中,信息对于企业的生存和发展起着至关重要的作用。当今的时代是信息爆炸的时代,表达信息的数据随着时间的增加和业务的发展而不断膨胀,这些数据分布在不同的系统平台上,具有多种存储形式,如何从这样复杂的数据环境中得到有用的决策数据是一个迫切需要解决的问题。随着分布式结构的成熟、数据库技术的提高和数据处理技术的发展,数据仓库系统在企业中得到大量应用。在企业数据仓库的初始数据装载完成后,如何对其进行更新维护是一个复杂的问题。

    数据仓库的更新包括数据源变化数据的ETL(抽取、转换、加载)和实体化视图的更新。ETL分别是三个单词首字母的缩写(Extract Transform Load),也就是抽取、转换、装载,但我们日常称它为数据抽取。ETL包含了三个方面,首先是“抽取":将数据从各种原始的业务系统中读取出来,这是所有工作的前提;其次是“清洗和转换":按照预先设计好的规则将抽取出来的数据进行清洗和转换,使不合法的数据被清洗掉,使本来合法异构的数据的格式能够统一起来;最后是“装载”:将转换好的数据按计划一次性全部或增量地导入到数据仓库中去。

    数据仓库的更新是数据仓库建立的核心过程。它按照统一的规则集成和整合并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是负责增量维护数据仓库的驱动力,是保障数据仓库数据质量的关键,是实施数据仓库的重要步骤。

    1.2国内外研究现状

    目前国内对ETL工具的研究开发正处于发展阶段,主要的一些研究成果产生于高校或研究机构中:

    (1)华中科技大学数据库与多媒体研究所研制了利用OLE DB接口的数据ETL系统DM3。该工具采用的是面向对象的开发方法,通过COM技术实现OLE DB接口和DTS接口,实现了一个具有良好可扩展性的ETL系统。

    (2)中国科学院研究人员自行开发的ETL系统—MSETL,它的主要目的是为了多策略数据挖掘平台提供了高质量的数据,提供良好界面并对ETL过程进行统一的管理。

    国外数据仓库已经得到大规模的应用,几乎每个数据仓库都有自己的ETL系统,市场中已经存在以下比较成熟的商用ETL系统:

    (1)Visual Warehouse是IBM数据仓库解决方案的重要组成部分,它提供ETL的功能,可以访问各种关系型数据库,如DB2数据库家族、Oracle数据库、Sybase数据库。它在大量数据的抽取中具有速度优势,提供集群抽取功能,但是界面不够友好,在处理复杂数据源时面临较多工作量。

    (2)Oracle Warehouse Builder作为包括ETL在内的一个综合工具。Oracle WarehouseBuilder可以完成导入数据源定义、设计和创建目标数据库模式定义和创建源和目标之间的数据迁移和操纵、定义ETL过程之间的约束性和流程、管理和更新源定义和目标模式等多种任务。它的使用流程繁琐,灵活度低。

    (3)Microsoft提供DTS作为ETL工具。DTS能够从广泛的数据源抽取数据,可以支持以下数据源:OLE DB数据源、ODBC数据源、文本文件。它提供工作流方式自动运行,但是无法跨平台使用。

    (4)Informatica DataStage提供工作流的运行方式,可以实现内部编程。但是数据抽取功能处理方式简单,程序的高效性和准确性方面的保证措施少。以上ETL产品普遍对ETL提供了很好的支持,但也存在一些不足之处:

    (1)对异构数据源支持不够,并且针对不同的操作系统平台,部分ETL工具不能跨平台使用。

    (2)部分ETL工具无法实现同步更新和增量抽取。

    (3)对于某些更新任务,只能按人工方式进行操作,工作效率难以保证。

    1.3研究意义

    数据仓库系统是在业务系统的基础上发展起来的,其内部存储的数据来自于事物处理的业务系统和外部数据。由于业务系统的开发一般有一个较长的时间跨度,而且企业的业务系统是在不同时期、不同背景、面对不同应用、不同开发商等客观前提下建立起来的,其数据结构、存储平台、系统平台都存在很大的异构性,因此在为企业数据仓库进行更新维护时,会面临着分布式异构数据源变化数据的集成问题。数据仓库可以被定义为一个数据存储的层次结构,从数据源到包含高聚合数据的数据视图,这个层次结构在逻辑上表示了从数据源到数据视图的数据流。在完成变化数据的ETL后,需要把异构数据源数据集成更新到事实/维表中,然后根据事实/维表的变化,进行实体化视图和总计方阵的计算更新。在对数据仓库进行更新时,如何控制整个更新过程,是我们必须面对的一个重要问题。

    由以上分析可知,在数据仓库的初始数据装载完成后,对其进行更新维护是一个复杂的问题。在面对大量遗留系统的情况下,为企业的数据仓库进行更新维护时,会面临着分布式异构数据源变化数据的集成问题。同时,也会面临着如何控制变化数据的ETL和实体化视图更新过程的问题,使这一过程更加自动化,使得数据仓库的更新成为一个灵活的过程,减少开发人员的干预,提高处理的自动化程度,从而提高效率。可见,针对异构数据源的集成问题和数据仓库更新流程的控制问题,构建基于SOA和工作流的数据仓库更新系统是很有必要的。

    1.4本文的内容和结构

    本文的结构是围绕数据仓库更新系统来展开的。第一章在简单介绍和分析数据仓库的发展历程、特点和基本体系结构基础上,指出了构建数据仓库更新系统的必要性。第二章对数据仓库、SOA和工作流技术进行了简单的介绍和分析,这三项技术是本文构建数据仓库更新系统要用到的重要技术。第三章从设计数据仓库更新系统时要考虑的因素、ETL工具的发展现状、基于SOA和工作流的数据仓库更新系统的优点三个方面对数据仓库更新系统进行了分析。第四章是对数据仓库更新系统的体系结构进行设计,并对各个模块的功能进行给了分析,最后给出了数据仓库更新系统的实现,并进行了部分测试。第五章是对全文的一个总结。

第二章数据仓库更新系统相关技术基础

    2.1数据仓库技术简介

    2.1.1数据仓库的发展历程

    技术的发展源于市场的需求,数据库技术的发展再次映证了这一点。在数据库应用的早期,一家企业如果拥有一个联机事物处理的计算机系统就可以获得强大的市场竞争力。其次,当时单位容量的联机存储介质比现在昂贵得多,相对于当时的市场竞争压力,将大量的历史业务数据长时间联机保存用于去分析显然代价太高了。因此,联机事物处理只涉及当前数据,系统积累下来的历史业务数据就转储到脱机的环境中。此外,在数据库技术应用的早期,还没有积累大量的历史数据可供统计与分析。从而,联机事物处理系统就成为80年代直到90年代初数据库应用的主流。

    然而,随着互连网技术的发展和经济全球化,使各大企业之间的经营活动日趋频繁,使企业间的竞争变得更为激烈,企业的运营环境也逐渐转化成以数据库为中心的运营环境。企业经营活动的日趋频繁给企业经营管理带来了大量格式异构且分布广泛的数据,而企业竞争要求管理者对企业过去的经营状况、管理状况和自身业务的运作及整个市场相关行业的发展态势做出准确而全面的分析,从而做出有利的决策。事实上,企业面临着这样一个问题:如何对大量格式各异、分布广泛的数据进行快速而有效的分析,通过分析来认识企业经营管理的过去和现在,预测和规划未来,为企业管理者的决策提供信息支持。

    在努力寻求问题的解决方案过程中,人们发现利用传统的数据库技术来处理大量格式各异、分布广泛的数据,效率很低。显然,单靠联机事物处理系统已经难以满足市场的需求,也难以给企业带来竞争优势。原因在于:(一)传统的数据库技术主要是用来辅助商业处理的,对信息的获取和使用,多数情况下仅限于对单个数据库的操作,而对于异构数据库的集成问题未加考虑。(二)对数据进行快速、准确、全面的分析建立在多年的历史数据基础上,数据量极大,这就要求系统必须具有对海量数据进行管理的能力和快速地查询响应速度,而传统数据库技术在这方面仍然存在不足。

31/3123>


 

评分:0

我来说两句