资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据仓库更新的新策略-工作流1概述数据仓库作为一种新技术,主要是为决策支持系统和oLAP应用提供软件架构。它从异构和分布式数据 源中收集数据,这些数据首先被聚合,然后按照OLAP所定义的组织标准进行定制。数据仓库的结构能够通 过一种分层存储的方式加以定义。这种方式涉及到的存储形式包括从底层的数据源到高度的聚合数据(数 据集市)。在这两种存储形式之间,按照OLAP程序的要求,还存在一些其他不同的存储形式。其中之一就 是对操作型数据的存储,操作型数据是以单一和干净的方式来表征数据源中的数据。企业级数据仓库(CDW) 则包含高度聚合的数据,并且被组织成多维表的形式。从每个数据源中抽取的数据可以存储在中间数据容 器中。显然,这种分层存储方式只是一种逻辑上的表示方式,它体现了从数据源到数据集市的数据流动过 程。所有这些存储形式都不一定要具体实现,如果确实需要的话,他们也只能形成同一数据库的不同层面 而已。图 1 显示了一种典型的数据仓库结构。这只是一个逻辑视图,它的具体实现,不同厂家有自己不同的 数据仓库产品解决方案。数据抽取和数据清洗的实现与每个数据源有关,对于不同的数据源提供有统一的 或定制的工具。同样,数据的一致性(多数据源清洗)既可以与数据集成(多数据源操作)分开也可以合 并到数据集成中进行。高级别的数据聚合工作可以看成一个计算技术的集合,这个集合的范围涵盖从简单 的统计函数到高级的数据挖掘算法。对于不同的数据集市来说,数据定制技术是不同的。关键在于决策者 想要看到的数据的详尽程度。数据仓库更新是一个非常重要的过程,它决定了数据采集和数据聚合的实效性。确实,向决策者提供 的数据的质量与以下因素有关。首先,与数据仓库系统在合理的时间内将数据从数据源转换到数据集市的 能力有关。其次,与数据仓库对数据源中信息发生变化的敏感程度有关。大部分的设计考虑主要集中在对 数据结构的选取和数据的更新技术上,这里的数据更新技术指的是对数据仓库更新的优化策略。在对数据仓库更新的理解方面在相关的文献上存在着很大的误区。确实,这个过程经常被简化为视图 维护问题或与数据导入混为一谈。本文的目的之一就是指出数据aCDWl j si j%:3*.rinrjDITAiKCLLAMJtC A. I A VH.IRCI图 1 数据仓库的体系结构仓库的更新要比数据视图的维护问题要复杂的多,也不同于数据导入过程。我们把数据更新过程定义 为一个工作流,组成工作流的具体活动类型取决于数据抽取和数据清洗所应用的产品。与其配套的触发事 件则与应用的范围和对数据刷新频率的要求相关。以下几节将分别描述数据更新过程的任务,并阐明在工作流中如何组织这些任务。第 2 节主要讨论数 据更新过程与数据导入及视图维护的不同。第3 节定义了工作流的标准形式并结合一个工作流的例子逻辑 展现了数据仓库更新过程。第4 节按照工作流的设计模式定义了数据仓库更新过程的语义。第5节归纳了 本文的主要思想,并涉及到一些实现方面的观点2视图维护,数据导入和数据刷新数据仓库中的数据更新过程通常容易和数据仓库初始阶段所作的数据导入或对数据仓库中具体视图的 更新相混淆。这两种想法都是错误的。下面几段详细阐述数据更新和数据导入,数据更新和视图维护之间 的区别和不同。数据导入和数据更新数据仓库的数据导入过程存在于数据仓库建立初期,是数据仓库建立的关键阶段,它主要完成对数据 仓库中内容的初始计算。数据导入过程是一个全局过程,这个过程分为四个步骤(如图 2所示):1,准备; 2,集成;3,高度聚合;4,定制。第一步由各个数据源完成,它主要包括数据抽取,数据清洗,可能还包 括数据归档(在数据清洗前后)等阶段。对历史数据进行归档,其作用在两个方面:一,在具用不同刷新 频率的数据源之间进行同步;二,用于一些特定的临时查询。第二步由数据的一致性处理和数据的集成处理组成。它包括对从异构数据源中提取的数据进行一致性处理(多数据源清洗)和对从ODS (操作型数据 库)的基表(基视图)中获取的数据进行清洗等两个部分。第三步由一些对派生于基视图的聚合视的计算 构成。在操作型数据库(ODS)中的数据是一些基本数据,他们具有程度很低的聚合程度,而企业级数据仓 库(CDW)中存放的数据通常是用聚合函数统计过的高度聚合的数据。第四步由对用户视进行派生和定制活 动组成,最后生成数据集市。数据定制指的是根据用户的需求形成不同的立方体,并向用户展示不同的侧 面。I II LL=tnJlHLi|LPliaiwrlh?hh in miiiuiLzemcni1 kiiw ;iviii图 2 数据导入过程数据导入阶段的主要特点是它处于数据仓库设计项目的最开始阶段。在数据导入之前,对用户来说, 数据仓库是不存在的。因此,在反映时间上就不存在什么限制。但是,相反,对数据源来说数据导入阶段 要求数据源一直可用。描述数据导入阶段的数据流是定义数据更新过程的基础,但是与之相对应的工作流却是不同的。数据 更新的工作流是动态的,能够跟踪用户的需求和检测数据源的变化,而数据导入过程的工作流是静态的, 由用户的当前要求和当前数据源的状况所定义的。数据更新过程和数据导入过程的主要区别有以下几点:首先,对数据更新过程来说,组成其的各个活 动(准备,集成,聚集和定制)之间完全是异步进行的,第二,就准备活动本身来说,其过程也可以是高 度并行的,每个数据源都有自己的可用窗口和抽取策略。同步由数据集成活动来做。另外的一个不同之处 在于数据源的可用性上。数据导入阶段要求数据源长期可用,而数据更新阶段对使用数据源的操作应用程 序的负载要求比较轻。它要求每一个数据源具有确定的存取频率和一个严格限制的持续期。最后,对数据 更新过程来说,对数据的存取有严格的反映时间限制,而对数据导入过程来说,要求就没有那么严格。确 实,对用户来说,在初始数据导入前,数据仓库是不存在的。因此,其计算时间则被包含在项目的设计期 间内。而在初始数据导入后,数据就变成可以看见的,应当满足用户对数据的使用,存取和刷新的要求。视图维护和数据更新在数据更新过程期间,对数据变化的传播是通过一系列独立的活动来完成的。这些活动包含对存储在ODS和CDW中的视图的维护。视图维护阶段是指由于给定的数据源的改变而引起存储在ODS和CDW中的一 系列视图的改变,这些改变导致视图的更新。这个阶段(视图维护阶段)是一个经典的具体视图维护问题 但是,在数据仓库中,扩展到聚合视中的改变在数据源中并不一定发生,但是予处理结果是通过其他更新 活动像数据清洗和多数据源数据一致性处理等来执行的。在数据库界,对数据视图维护的问题已经进行了大量的研究。这个领域所做的主要工作被收集在2和 6中。大部分的工作都集中到对一套具体的视图的维护工作上,这套视图派生于一套基本的关系表,当基 本关系被修改时便引起视图的改变。视图维护所涉及到的工作主要有:自我维护性:自我维护性是针对这样一套视图集的:视图集V对于基本关系的改变是自我维护的, 指的是不需要查询基本关系就可完成V中视图的改变。(也就是说通过存储在具体视中的信息和变化的实 例就足以完成视图的维护) 一致性和有效性更新转换:对于每个单独的视图都有相应的算法来调度更新转换过程,但是,考虑 到视图间的相互依赖关系,及视图间会导致可能的矛盾。出于这个目的,导入一些辅助视图来促进更新转 换和加强自我维护性。数据仓库主要关注的是视图集的自我维护性。存储在数据仓库中的视图集必须是全局可自我维护的, 这一点是大家都认同的。这样做的原因是避免对操作型数据源中的常规活动负载过重。像上节描述的一样,对数据仓库更新的研究主要集中在对具体视图的更新转换上。关于这个题目,已 经发表了很多文章。但是,很少有人致力于将数据更新过程作为一个整体(像前面定义的)来研究。我们 认为视图维护问题只是整个数据更新过程的一步,其它几步包括数据清洗,数据一致,数据定制,如果需 要的话还有数据归档。另一方面,抽取和清洗策略对不同数据源来说是不一样的,就像数据更新转换过程对不同的用户视是不同的一样。所以,数据仓库更新过程不能仅限于视图维护过程。综上所述。我们认为数据更新过程是一个复杂的系统,它由一系列异步和并发活动构成,当然,这些 活动必须是可监控的。另外,数据更新过程也是一个基于事件驱动的系统,是不断跟踪变化,动态反映数 据源和用户要求演变的系统。用户,数据仓库管理员和数据源管理员可以施加一些限制,例如,数据的刷 新率,ODS和CDW的空间限制,对数据源的存取频率等。对所有数据仓库应用,所有的数据仓库用户或 整个数据仓库生命周期来说,不存在简单和同一的数据更新策略。3数据更新过程是一个工作流工作流是一套相关活动的集合,这些活动既可是手动的,也可以是自动的。工作流的概念已经在不同 的领域得到应用,像商业过程模型,企业操作模型和数据库事物模型等。根据应用的领域,活动和活动间 的联系可以使用相应的说明语言来描述,像状态图, Petri nets 或活动规则等。尽管对工作流的应用和表示 方式多种多样,但是,大部分工作流用户却或多或少地倾向于接受Workflow Coalition对工作流所做的概念 和说明。工作流系统一般具有高度的灵活性,有可递归分解和合成的活动,和对工作流过程进行动态重组 等特性。对数据仓库来说,这些特点是非常有用的。因为,不同的数据仓库厂商所提供的产品是不同的, 也就是说,组成数据仓库的活动的功能和范围由于产品的不同其差别是很大的,而这正是工作流所擅长的。在下面几小节,我们将展示数据仓库是如何被定义为工作流的。根据用户的需求,数据源和数据仓库 的限制等要求,我们将提出不同的方案,并以此来说明将工作流引入数据仓库的优点。同时,我们将说明 这些方案能够全程跟踪和监控用户需求和限制的任何变化,并完成相应的更新操作。3.1 数据更新过程的工作流数据更新的目标是反映数据源的变化,并将这些变化导入到数据仓库中。这个导入和转换行为可以通 过一系列独立的活动来完成(抽取,清洗,集成等)。按照用户对数据更新过程的语义以及他对所获取的数 据的要求,这些活动可以以不同的方式进行组织。同时,这些活动的顺序和它们执行的上下文环境也定义 了语义并影响质量。顺序和上下文环境来源于对视图的分析,数据源的限制和用户在质量方面的要求三个 方面。在下面几节中,我们将阐述数据更新活动和他们是如何被组织成工作流的。然后,我们给出不同的工作流方案,并进一步说明数据更新是一个动态和演变的过程。最后,我们将概括不同的想法,并提出一 个合理的数据更新方案。数据更新活动就数据流来说,数据更新过程类似数据导入过程。但是,数据导入过程是数据仓库的大规模的数据导 入,而数据更新只是捕获数据源所发生的改变并将这些改变转换到数据仓库的各个存储层次中。在准备阶 段,从每个数据源中抽取数据,这些数据是自上次抽取以来,数据源所发生变化的数据。至于导入,数据 应在集成前被清洗和归档(可能的话)。数据集成阶段主要是完成对来自多数据源的改变数据进行一致性 处理,并将其导入到ODS中。聚合阶段主要是利用这些数据变化重新对各层次聚合视进行增量计算。定制 阶段主要是将这些经过概括的数据装载到数据集市中。和数据导入阶段一样,这是一个逻辑的分解过程, 其具体实现对不同的数据仓库产品来说是不同的。这种逻辑视图具有对数据更新过程的跟踪能力。图 3 显 示了数据更新过程的活动和相应事件的一个样例。zlpiwJrqupiliaj盹喇 nuTTinrcm出強用代汕伯讹尿Hill kTlEk?冊回mm miD/iddizrni1 古un.vj-ftuiniiiiifl iTiir脚t山山伽imHiN 呵 niuiij.Lii;* 恤L
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号