(计算机应用技术专业论文)etl过程逻辑描述及其执行.pdf_第1页
(计算机应用技术专业论文)etl过程逻辑描述及其执行.pdf_第2页
(计算机应用技术专业论文)etl过程逻辑描述及其执行.pdf_第3页
(计算机应用技术专业论文)etl过程逻辑描述及其执行.pdf_第4页
(计算机应用技术专业论文)etl过程逻辑描述及其执行.pdf_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东南大学硕士学位论文y 5 8 2 2 8 0 东南大学学位论文 独创性声明及使用授权的说明 一、学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致日 的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 二、关于学位论文使用授权的说明 签名 日期 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内奔和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 签名 导师签名 日期: 东南大学硕士学位论文 摘要 随着数据仓库的广泛建立,数据仓库系统的核心一用 i 数据仓库数据加载和刷新维护的 e r i ll 一具越来越重要。市场上存在大量的e t lt 具,这些e t lj 二月采用不同的实现技术, 对庵的e t l 过程定义描述都基于数据源的数据模型和执行e t l 过程使用的实现技术。使用 不同的e t l 上具需要熟悉不同的数据模型和e t l 过程执行实现中使埘的相关语言。 针对当前e t lt 具中e t l 设计的不址,我们提出了e t l 过程的逻辑描述方法。苒先使 用统一数据模型描述具体的数据源对应的数据存储模型,屏蔽不同数据模型中描述的差异, 止片j 户在统一数据模型上定义e t l 过释;其次使件je t l 过程逻辑描述从逻辑上描述整个 e t l 过程,屏蔽e t l 过程中具体实现的差异,使j 干| 各种逻辑规则定义e t l 过群中的数据转 换平数据清理。e t l 过程的逻辑描述可以- 止e t l 过群设计人员专注丁根据模式的语义进行 的数据转换映射和清理定义,不用考虑执行的实现模式和数据模錾! 之间的著异,减少定义的 复杂程度,吲时为自动定义e t l 过程提供前提。 本文结合数据仓库系统中的e t l 二 具t i ) f 究和实现项目,研究如何从逻辑上对e t l 过程 进行描述,如何图形化显示e t l 过程,以及如似根据逻辑描述太生成口r 以执行的f 1 1 程序 或者相关的查询语言。通过研究我们为我们自制的e t l 工具一s e ue t l 系统设计j - 统一数 据模型、e t l 过稀逻辑描述规范,e t l 过程的图形化显示机制。为了使e t l 逻辑描述的实 j _ j 化我们定义了一个数据转换脚本描述规范。最_ f 亓通过对e t l 过程物理执行机制羽】相关的 优化策略的训l :究实现了s e ue t l 系统中的e t l 过程的执行。 关键字:统一数据模型、数据转换、数据清理、元模型、逻辑描述 2 东南大学碛士学僚论文 a b s t r a c t w i t ht h el a r g e s c a l e i m p l e m e n to fd a t aw a r e h o u s e ,e t lt o o l s ,t h ec o r ep a r to ft h ed a t a w a r e h o u s e s y s t e m ,a r em o r ea n dm o r ei m p o r t a n t e 1 lq b o l s a r eu s e dt op e r f o r m e rd a t al o a da n d d a t ar e f r e s hp r o c e s sf o rd a t aw a r e h o u s e t h e r ea r el o t so fe t lt o o l si nm a r k e t ,w h i c hu s ed i v e r s e t e c h n o l o g y t h e s ee t l t o o l sa l w a y su s ea d e f i n i n gm e t h o da c c o r d i n gt ot h ed a t am o d e lo ft h e d a t as o u r c e sa n dt h ei m p l e m e n t i n gt e c h n o l o g y t or i s ed i f f e r e n te t lt o o l s ,t h ek n o w l e d g eo f d i f f e r e n td a t am o d e ln e e d e dt ob eu s e dt od e s c r i b et h ed a t as c h e m aa n de x e c u t el a n g u a g eu s e dt o e x e c u t ee t l p r o c e s s a c c o r d i n g t ot h ef a u l to f d e f i n i n gm e t h o di nt h e s ee t l t o o l s ,am e t h o dd e f i n i n ge t lp r o c e s s i nl o g i ci sb r o u g h tf o r w a r d ,f i r s tau n i f o r md a t am o d e li sd e s i g n e dt od e f i n et h ed a t as c h e m ao f d a t as o n r c e 。w h i c ha r e nd i f f e r e n td a t am o d e l t h eu n i f o r md a t am o d e ls h i e l d st h ed i f f e r e n c eo f d a t am o d e l sa n ds i m p l i f i e st h ed e f i n i t i o no ft h ee t l p r o c e s s s e c o n d l yat o g i c a le t lp r o c e s s d e s c r i p t i o ni su s e dt od e s c r i p tt h ew h o l ee t lp r o c e s si nl o g i c a l l yw i t h o u tr e g a r d 幻t h ee x e c u t i n g t e c h n o l o g i e s ,i nl o g i c a l e t lp r o c e s sd e s c r i p t i o nt h e l o g i c a l r u l e sa r eu s e dt od e f i n et h e t r a n s f o r m a t i o na n dd a t ac l e a n i n g t h el o g i c a le t lp r o c e s sd e s c r i p t i o nh e l pt h ee t ld e s i g n e r f o c u so nd e f i n i n gt h es c h e m am a p p i n gu s e di nd a t at r a n s f o r ma n dt h en e e do ft h ed a t ac l e a n i n g o n l yc o n s i d e r i n gt h e s e m a n t i co ft h ed a t as c h e m a t h e r ei sn on e e dt ot a k et h ee x e c u t i n g t e c h n o l o g ya n dt h ed i f f e r e n c eo ft h ed a t am o d e l si n t oa c c o u n t 。i tr e d u c e s t h ec o m p l e x i t yo ft h e d e f i n i t i o na n dr a a k e s 氆ee t l p r o c e s sd e s i g n sa u t o m a t i o no rs e m i a u t o m a t i o np o s s i b l e i nt h i sp a p e ri ti sr e s e a r c h e dh o wt od e s c r i p tt h ee t l p r o c e s si nl o g i c a l l y h o wt or e v e a lt h e e t l p r o c e s si nv i s u a lm e t h o d a n dh o wt op r o d u c et h ee t l p r o g r a ma n dq u e r y u s e dt op e r f o r mt h e e t l p r o c e s su s i n gt h el o g i c a le t lp r o c e s sd e s c r i p t i o n t h er e s e a r c hi sp a r to f t h ep r o j f 一“t h e r e s e a r c ha n di m p l e m e n t a t i o no ft h ed a t aw a r e h o u s e ”t oi m p l e m e n tap r o t ot y p eo fe t lt o o l s t h r o u g ht h er e s e a r c hau n i f o r md a t am o d e l ,al o g i c a le t l p r o c e s sd e s c r i p t i o ns p e c i f i c a t i o n ,a v i s u a lm e t h o dr e v e a l i n gt h el o g i c a le t lp r o c e s sa r ed e s i g n e df o rt h es e u e 1 ls y s t e md e v e l o p e d b y t h ed a t a b a s e g r o u po fs o u t h e a s tu n i v e r s i t y , i n o r d e rt om a k et h e l o g i c a l e t lp r o c e s s d e s c r i p t i o nb eu s a b l eas c r i p ts p e c i f i c a t i o no f t h ed a t at r a n s f o r m a t i o ai s d e f i n e d a tl a s tw i t ht h e r e s e a r c ho ft h ee x e c u t i n gt e c h n o l o g i e sa n dt h eo p t i m i z a t i o nt h ee x e c u t i n gm e t h o di ns e u e 1l s y s t e mw a si m p l e m e n t e d k e y w o r d :u n i f o r md a t am o d e l 、d a t at r a n s f o r m a t i o a 、d a t ac l e a n i n g ,m e t a m o d e l ,l o g i c a l d e s c r i p t i o n 3 尔南大学硕士学能论文 1 1 。背景 第一章引言 近年来随着市场竞争的进一步激烈化,企、i k 对决策支持系统的依赖性越米越大,纷纷要 求建立数据仓库来存储决策所需的数据。数据仓库( d a t aw a r e h o u s e ) 是指在企业管理干决 策中,向向主题的、集成的、与时间相关的、不可修政的数据集合。数据仓库中的数据来自 丁得种不同的业务系统,需要从各个业务系统数据源中抽取原始数据,然后经过消理、转换、 集成、聚集锋一系列的处理,最后将j “生的决策数据加载剑数据仓库中。这个数据仓库数据 的选择抽墩、加载和刷新过程被称为e t l ( e x t r a c t ,t r a n s f o r ma n dl o a d ) 过程( 图1 1 ) 。e t l 过程的实施是整个数据仓库系统开发实施1 ,最重要的部分,据统计,罄个数据仓库系统丌z z l 一7 0 左右的叫问和t 作量都花费在e t l 过程的设计和实施上。同时e t l 过程是整个数据 仓库系统实施的关键,因为数据仓库巾数据的止确性和有效性需要e t l 过程来保证,e t l 图1 1e t l 过程 心。 e t l 过程是一种数据集成,目标是将各个数据源的局部数据视图集成映射剑数据仓库 的全局数据视图中,其特点是过程的复杂性和实现的幽难性。首先数据仓库的全局数= 据视图 基本上独立于各个数据源的局部数据视图,e 1 1 l 过程是一个包含很多子过程的复杂过样, f 过稗包括:转换r 过程要将数据规格化、统化:集成子过程要将不同数据源的数据进行 合把聚集子过程要将基本数据进行概括计算:清理子过程要将数据源中地错误数据进行清 除。其次数据源和数据仓库往往采用不同类型的存储机制,每种存储机制需要专川的数据 访问接r _ :】来秩取存储数据,由于数据访问接口的不同,造成整个e t l 过程的实施比较困难。 鉴丁e t l 过程的复杂性和实现的凼难性,市场【:出现了一些e t lj 具来辅助数据仓库实施 人员完成e 7 r l 过程的设计和实现。根据g i g a 和m e l ad e l t a 的分析报告,2 0 0 1 年e t l 市场 的价值是6 6 7 ( 百万) 美元,估计在今后的几年内,e t l 市场以1 0 2 0 的增艮率在增民。 e t l 上具最基本的功能包括:定义数据仓库对应的数据源中相关的数据;从各个 数据源中抽取数据;对数据源中抽取出米的数据进行标准化、格式化,然后集成到一个统 的数据模式中;基于数据库规则或者事务规则对集成的数据进行清理;将数据加载到 数据仓库中。 e t l 二| 具中功能一般是根据功能产生的数据源访问信息自动调用相应的数据访问 接口来完成。功能和需要用户首先定义描述数据模式之间的映射转换规则乖i 清理规则, 东南大学硕士学位论文 然斤根据这些规则自动进行数据转换和数据清理。当前的e t l 工具中的数据转换清理规则 定义都采用小同的描述方式,这些描述方式往往引+ 对丁工具本身采用的物理实现机制,主要 的物理实现机制包括:基于 序的实现机制、基丁数据库的实现机制。基于程序的实现机制 是使用通用的编程语言( c c + + 、j a v a 、v b 等等) 编写用丁转换清理的特定程序。人多数 专业的e t lt 具都是采h j 这种实现机制。采用基于程序实现的e t l _ t 具一股使用类程序语 言脚本来描述,这些脚本规范可能是自定义的,也可能是亩接使h j 已有的标准脚本语言,立 i v b s c r i p t 等。基丁数据库的实现机制是利用s 0 l 查询的模式重构能力来进行数据转换清理, s q l 查洵将已有的数据模式构建生成和目标数据模式一致的视图,将视蚓中的数据加载的 目标数据模式中完成数据转换。人多数数据库厂商提供的e t l 上具都是采用这种实现机制, 比如i b md b 2 的d b 2w a r e h o u s e 和s q ls e r v e r 的d t s 。采用基于数据库实现的j f :具一般 要求直接使用s q l 语句米描述数据转换。对于唰个e t l 过程,使用不同的e t ll 具需要 产生不同格式的描述定义。这些不同格式的描述定义的本质内容都是e t l 过程i 涉及到的 数据模式和数据模式之间的映射转换关系。 e t l 过程的逻辑描述是将e t l 过程进行抽象,只描述e t l 过程中涉及到的数据模式和 模之间的映射转换关系,以及这些映射转换关系之问的相互联系。e t l 川睡中的具体的 e t l 过程描述定义都是e t l 过程逻辑描述的实例( 图1 2 ) 。e t l 过程的逻辑描述中苗先要 求不用考虑具体的数据存储模型,采用个统一的数据模型来描述不同数据源中的数据模 式:其次要求不用考虑具体的数据转换执行机制,在统的数据模型上定义数据模式之间的 转换映射关系,以及在转换映射中的数据清理要求。e t l 过程的逻辑描述的优点包括:彳:j 利1 二e t l 丁具之间的e t l 过程元数据共享和转换;也有利于e t l 设计人员的设讣,只需要 考虑数据模式的语义,不用考虑模式的存储模型不同和e t l 过稃的实际执行机制;有利j 追踪数据仓库中数据需要经过的转换流程,确定数据的来源,分析数据源r 1 1 数据的状况。 图1 2 逻辑描述与e t lt 具中描述定义的关系 本文结合白行研制的e t l 上具s e u e t l 系统,通过对e t l 过程w f 究,定义了一种逻 辑描述方法。使用统一数据模犁和e t l 过程逻辑描述规范来定义整个e t l 过程。还提供了 将各种数据存储模型映射到统,数据模型的方法,e t l 过程的图形化描述机制以及e t l 过 程中数据转换的描述语言规范。最后讨论了对应于e t l 过程逻辑描述的实现机制一s q l 布 洵执行机制雨i 程序执行机制,以及如何充分利t | = j 这两种实现机制的优点来优化e t l 过群的 实际执行。 1 2 相关研究和标准 对于e t l 过程描述的研究主要集中在数据转换中的模式映射描述,数据清理和数据转 换的融合,阻及如何使用e t l 过程描述来追踪数据仓库中的数据来源。相关的研究有:加 拿人多伦多人学c l i 。系统,土要研究数据转换中各种模式映射关系;法囤i n r i a 研究所研 制的a j a x 数据清理系统中实现r 数据清理对应的数据转换程序的逻辑描述,使用1 i i 司的实 6 东南大学硕士学位沦文 现模式( 转换程序、s q l ) 完成对应的物理执行:伯克利大学础f 制的p o r e r sw h e e l 数据浩 理系统中实现了数据清理对廊的数据转换的代数描述;希j 昔a t h e n s 困家技术大学研制的e t l 丁具中实现了对e t l 过程的概念描述以及图形化描述e t l 过程昶ie t l 过程小的转换子过 程:斯坦福大学的数据仓库数据来源追溯研究中利用e t l 过程的逻辑描述米发现平l l 确定数 据仓库中数据的最初来源。 相关的标准有o m g 制定的数据仓库元数据模型c w m 标准癌l 标准h ;| 十数据仓库1 具、 平台、元数据库之间的元数据交换,其中t r a n s f o r m a t i o n 是e t l 过程描述的元模型。 1 。3 本文的组织结构 本文土要结合s e ue t l 系统的实现,讨沧e t l 逻辑描述以及e t l 过程的执行,以r 儿个章1 y 是这样安排的:第一章重点介缁自行研制系统( s e ue t l ) 的总体设计年l l 功能; 第三章分析数据模型,设计了e t l 逻辑捕述中所使削的统一数据描述模型;第四章分析j e t l 过群中的数据转换和清理,设计了e t l 逻辑描述的元模型,最后设计了一种e t l 过群 的幽形描述机制和数据转换的逻辑描述语言:第五章分析和探讨了e t l 过程的执行及其优 化;第六章是对当前:作的小结和展望。 7 东南大学硕士学位论文 第二章s e u e t l 功能和框架 s e u e t l 系统是东南大学计算系数据库实验室门行设计和实现的个e t l 工具,系统 最人的特点是:引入统一数据模型,将所有的物理数据模式映射到个统一的数据模,牲上 的逻辑数据模式,在定义e t l 过程中无须考虑具体的物理数据模型之间的差异;引入r e t l 过程逻辑描述方法,只需描述数据模式之间的转换映射,无需考虑e t l 过程的实际执 行。系统提供的主要功能包括:数据源数据模式的自动获取,以及自动将物理模式转换成统 一数据模型下的逻辑模式:蚓形化定义和文奉脚本定义逻辑数据模式上的e t l 过程逻辑描 述;幽形化显示整个e t l 过程:解析e t l 过科逻辑描述,使用其他元数据( 数据模型映射 关系,数据访问信息) ,生成实际执行需要的s q l 语句利类程序语言脚本;调度执行s o i 。 语句利类程序语言脚本。系统还提供将e t l 过程逻辑描述生成其他e t li :具需要使川的 e t l 过程元数据。 系统主耍山e t l 过程逻辑描述生成t 具、其他e t l 工具元数据生成工具、e t l 过程执 彳= 二 :具组成。s e ue t l 系统整个体系结构如图2 1 ,存系统中还使用元势据库保存e t l 过 群逻辑描述生成工 产生的e t l 过程逻辑描述脚本,使j h 中间数据库存储e t l 过稃中产叶: 的临时数据。 e t l 过程逻辑描述其他e t l i 其元 数据生成工具 其他h mi ,其元 数据生成模址 描进 程执行:其 执行调度模块 转换任务 兰 转换执 , 模块 控 转换任务 兰 转换执行 模块 箱 i 理 控 制 界 面 1 元癍丽ll 数据源ll 中间数榭库l】数据仓库 图2 1s e u _ k t l 系统体系构架 2 1 e t l 过程逻辑描述生成工具 e t l 过程逻辑描述工具是系统的前端,让用户以图形化方式对e t l 过程进行定义,从 逻辑上描述整个e t l 过程,这是整个系统的核心。本j 二具主要功能是在用户指定数据源和 目标数据仓库后,系统自动获取其中的物理数据模式,然后将物理数据模式转换成统一数据 模犁中的逻辑数据模式;h j 户在图形化定义e t l 过程中生成e t l 过程的逻辑描述t 然后保 存到元数据库中。e t l 过程逻辑描述工具主要由逻辑描述的界面、模式获取模块、模式自 动映射模块、执行脚本生成模块、执行脚本优化模块,它们之间的关系如图2 1 。 夺逻辑模式定义界面提供与e t l 设计人员交互的图形界面。e t l 设计人员使用图形 化方式或者文本语言方式定义数据模式之问的映射规则和e t l 过程c t 的数据清理 规! l i i 】,以图形化方式显示艇个e t l 过科。在定义界面中出现的数据模式都魁以统 一数据模型表示的逻辑数据模式。在定义中可以调用模式自动映射模块,自动生成 模式之间候选的映射关系辅助用户定义转换规则。 夺模式获取模块对指定数据源自动获取数据源中的物理数据模式,同时将这些物理数 据模式转换成统一数据模型表示的逻辑模式( 图2 2 ) 。模式自动获取模块支持从多 种类型的数据源中获取数据模式,包括:关系数据库、x m i 。文档、结构化文本文 查垦奎堂塑主兰堕堡壅 什等。针对不同类型的数据源有不同类型的模式获取器。 图2 2 模式获取模块结构图 夺 模式自动映射模块是1 个辅助性模块,生成指定的数据模式之间的候选映射关系。 模式之间的映射关系主要是由模式中属性映射匹目d 关系组组成的。定义模式属性映 射关系是e t l 没计中最重要的工作,属性映射眄配关系由属性的语义决定属性 的语义丌j 以通过属性的值域和属性的名称来获取,属性的值域可以根据属性中实际 存储的数据米获取。模式自动映射就是根据属性名称和属性数据值自动获圾属性的 可能的语义,然厉根据这些语义来生成候选的属性映射匹配关系组。使用该模块可 以减少e t l 过程定义中模式语义分析的负担。 2 2 其他e t l 工具元数据生成工具 将本系统产生的e t l 过程逻辑描述自动生成其他e t l 下具中的e t l 过稃定义元数据。 其他e t li :具中e t l 过程定义元数据和e t lf 具使用的实现机制相关,不同的e t li ? 具 需要不j 司的生成模块。 2 。3 。e t l 过程执行工具 e t l 过程执行工具执行e t l 过程逻辑描述j :具定义好的过程逻辑描述。e t l 过程执行 i 一,l 解析e t l 过程逻辑描述,将逻辑描述中的数据模式转换成物理数据模式,转换调度器 将e t l 逻辑描述中的转换任务分配到转换执行模块。用户通过管理控制界面对e t l 过程的 执行进行监控、管理、控制。 夺 执行调度模块从元数据库中读取e 1 l 过程的逻辑描述,解析逻辑描述将逻辑数据 模式转换成物理数据模式,接受管理控制界面中的控制命令,根据数据转换之间的 关系调度执行e t l 过程中的数据转换任务,同时实时将执行的过程和结果信息反 馈到管理控制界面上。 夺 管理控制界面图形化显示e t l 过程的执行情况,梢户在界面上可以输入控制命令 传送给执行调度模块控制e t l 过程的执行。 夺转换执行模块接受转换任务描述自动进行执行数据的转换。奉系统r j 使川s q l 执 行机制和程序执行机制相结合的物理执行机制,将转换任务描述进行解析生成用丁 转换的s q l 语句和转换程序,然后执行s q l 语句和转换程序。转换程序调用数据 源对应的访问接f :_ l 获取转换数据,然后使川目标数据库的访问接口保存转换后的数 据( 图2 , 3 ) 。 转换执行模块 转换任务解忻转换任务执行 s q l d b 2 访问x m i ,访洲文奉访问 s e r v e r 访 接口接u接 t 问接u 图2 3 转换执行模块结构图 9 东南大学硕士学位论义 2 4 元数据库 刚丁保存e t l 过程逻辑描述上儿产生的逻辑描述元数据,是e t l 过程逻辑描述i 具j r l e t l 过程执行j 一贝交且的中介。元数据库使用常 = = | 的r d b m s 进行管理。盯l 过释逻辑揣 述i 。具和e t l 过程执行l 具通过a d o 数据库访问接口访问元数据库。 2 5 中问数据库 在s e u e t l 系统中使用,_ 卜| 问数据库米存储e t l 过程中产生的临时数据,存储e t l 过 程巾无法r 动处理的错误数据。还利用d b m s 的s q l 奁啕完成部分数据转换和数据清理。 中间数据库使用常用的r d b m s ,t h 要求有比较好的性能,转换执行模块通过a d o 等对中 问数据库进行访问。 1 0 东南大学硕十学位论文 第三章统一数据模型 e t l 过程完成数据从数据源到数据仓库的转换迁移,涉及到数据源和数据仓库的数据 模式。数据仓库主要采用关系数据库( r d b m s ) 来保存数据,对应的数据模型娃关系模颦。 数据源的情况可能是多样化的,有的是关系数据库,但有的小是关系数据库,其至是1 f 数据 库的。非数据库的数据源将会越来越多,最常见的是w e b 数据源。w e b 上的数据没有统 的数据模型,没有严格的结构,将来w e b 上的数据越来越多地采用x m l 表示。在关系数据 库中使用表、字段表示数据模式,而在x m l 中使州元素、子元素及元素的属性来农示数据 模式。在e t l 过程定义中,面对不i j 的数据源,必须考虑数据模式表示的不一致性,这将 使定义过程变得十分复杂。如果存定义时不用考虑数据模式表示的差异,让e t l 设计人员 只需要考虑模式表达的语义,就可以降低e t l 过程定义的复j 程度。我们注意到,尽管数 据模式表示的方式不一样,但这些数据模式对应的语义对象是一样,都对应于现实t i t 的实体 和实体中的属性,这样就有可能设计一种更为抽象的、统一的数据模型来表示不同数据源的 数据模式,从而大大简化e t l 过程的定义。 3 1 统一数据模型的要求 统一数据模型要求能满足以下二个方面的要求:概括多神常用数据源的数据模型、能够 描述数据模型上的完整性约束、可以准确地表示数据模式的语义。 3 1 1 概括其他数据模型 e l 、i t 过程中涉及到的数据源可能有根多种,但丰要有关系数据库、x m l 文档两种,剥 应的数据模犁是关系数据模型和面向对象数据模型。数据仓库系统中当前最主要的数据源足 企业内部业务系统数据源,一般的业务系统都采用关系数据库( r d b m s ) ,常见的关系数据 库( r d b m s ) 包括o r a c l e 、d b 2 、s q ls e r v e r 、s y b a s e 、a c c e s s 、f o x p r o 等,这些数据库采 j _ 1j | = i 同的数据模型一关系模掣。企业数据仓库列数据集市一般也采用o r a c l e 、d b 2 、s q l s e r v e r 、s y b a s e 等大型关系数据库,这些数据库也是关系模型。x m l 由于其很好的描述性 和规范性,越来越多的被用于作为w e b 数据的表示和传输交换标准,甚至现在有人提川基 丁x m l 的w e b 数据仓库。x m l 是基于面向对象模型,因此面向对象模型也是数据仓库化 中涉及的一种重要数据模型。统一数据模型最主要的灶能描述关系和面向对象数据模型中的 数据模式。 3 1 2 描述数据模型上完整性约束 由j 二数据源,数据质量得不到保证,要求在e t l 过程中对从数据源一i 抽取出来的数据 进行清理,发现和清除不符合完整性约束的数据。完整性约束包括模式f :的约束和数据实例 上的约束,模式的约束主要是由模型的约束决定的。每一种数据模型都有自身的完整性约束 条件,要求统一数据模型中能描述不同模型上的完整性约束。住e t l 过程中利川完整性约 束条件进行数据清理和数据质量评估。 3 1 3 描述数据模式的语义 e j l l 过程中数据转换映射主要是由语义决定的。器个数据源使用独立的命名空间,相 同的数据对象在不同数据源的数据模式中其命名可能不同,产生模式命名冲突。解决模式命 名冲突的关键是识别语义,对存在命名冲突的数据对象住统+ 数据模型中确定一个统一的命 名及相应的语义,这样有利丁数据模式映射的用户人工定义和自动映射匹配。 东南大学硕i 学位论文 3 2 统一数据模型定义 s e u e t l 系统中的统一数据模型采川扩煨的关系数据模型,原冈有儿个:数据仓库 r i 最多物理存储是关系数据库,而且最终的数据仓库存储也是关系数据库,对应的数据模 魁 是关系模酗;关系模型中的关系代数操作很好的描述e t l 过程中模式映射转换关系,比 如连接操作、合并操作很好的描述了模式映射中的j o i n 和m e r g e ;x m l 文档对庇的而 向对象模) 融转换成关系模型已经很成熟,对象的嵌套关系可以转换成两个关系,以及关系之 间的关联。将父元素和子元素转换成对应的父,芙系硐1 子关系,在父关系,f - 添加一个字段j d 作为主键,子关系中添加f i d 作为外键关联到父关系的i d 主键上;e t l 过程的执行- l - 很 多使j _ jr d b m s 提供的s q l 查询来完成,s q l 查询的基础是关系数据模型。 关系数据模型的不足是:完整性约束条什描述太少,模式的语义描述单。关系数据模 型巾对于完整性约束只有域完整性约束、实体完整性约束、引用完整性约束,无法描述事务 规则约束、关联限制约束等等。关系模式中的语义捕述采川模式名称描述农示,花e t l 过 程设计中,模式的具体语义需要用广通过数据字典及对数据的理解米获取。在统一模型中需 要将这些从数据字典或者具体数据的理解中获取的语义直接在模式定义r i i 表明,便r 模式映 射生成。 s e ue t l 系统中的统一数据模型是对关系数据模型的扩展,主要增加了完整性约束描 述和语义描述。统数据模型中每一个实体对象都使j _ j 山简单的数据类型定义的属性组成的 简单数据结构来描述。关系数据模型中的关系运算和操作同样适用r 统一数据模型中。统一 数据模犁中土要采月j 以_ f 几个概念来描述:字段( f i e l d ) 、记录集( r e c o r ds e t ) 、联系 ( r e l a t i o n s h i p ) 。 1 记录集( r e c o r ds e t ) 使川记录集描述关系模型中关系( r e l a t i o n ) ,关系数据库中表( t a b l e ) ,对象模型中的 类( c l a s s ) ,x m l 文档中的元素( e l e m e n t ) 。 记录集使h j 名称、属性集台、语义定义、记录标识、事务逻辑、物理存储模型定义等来 描述。属性集合描述了记录集包含的属性:语义定义描述记录集对应的现实意义:记录标识 是用米唯一标识个记录的属性或属性组的名称;事务逻辑描述记录集上的事务逻辑限制 ( 包括元组的完整性约束和元组中字段之间的业务逻辑约束) ,主要有唯一性约束和事务规 则约束;物理存储模型定义描述模式实际存储采用的机制( 如关系模型、x m l 等) 。记录集 可以表示为:记录集名称( 字段名称,) 。 记录集与关系模型中的关系相类似,都是一个平面结构模式,不存在一个属性是一个记 录集,也小存在记录嵌套,记录集是有限多条数据记录组成的集合。面向对象数据模犁和 x m i 。中对象是可以相互嵌套( 一个对象中有多个子对象) ,但统一数据模型中不支持记录嵌 矣,但可以使用多个记录集和它们之间的关联米描述对象的嵌套关系。 2 字段( f i e l d ) 使用属性描述关系模型中的属性( a t t r i b u t e ) 、关系数据库中的字段( c o l u m n ) 、对象模 型中的类属性( a t t r i b u t e ) 、x m l 文档中的属性( a t t r i b u t e ) 。 字段使用名称、数据类型、值域、语义来描述。这里字段的数据类型要求是简单数据类 型,简单类型包括整型( 布尔类型当作整型米处理) 、字符型、浮点型、时间类型、二进制 类型,不使用类型组合作为字段的数据类型。字段中存储的数据有一个值范围的限制,这个 限制可能是事务逻辑上的限制,也可能是实际存储中对应的数据类型的限制使用值域表示 字段的类型限制。每个字段的语义是指在统一命名模式下的现实语义的表示。 3 联系( r e l a t i o n s h i p ) 使用联系描述关系模型中的引_ 日j ( r e f e r e n c e ) 、关系数据库中的表关系( t a b l e r e l a t i o n ) 、 1 2 东南大学硕士学位论文 对象糗戮中的g | 翊( r e f e r e n c e ) 、x m l 文档中豌敬套关系。 统一模型中的联系用于表示记录集之间的荚暇,通过记录集之间的,乏联字段组建立必 联。联系使剧名称、记录集1 名称、记录集2 名称、关联字段组集合、芙麟限制等表示。关 联限制指任何一个记录集中的 a 录可以与另外一个汜录集中多少条记录进行关联。联系是通 过关联字段组集合表示的。 我j 馒瑁记录集、字段、鹱系来绫一描述数据仓痒系统中数据模式,统一数疆模型与 关系数据模型类餐,分澍砖斑予关系模型躲关系、属性,与关系模燮不疆在 : 关系模型中没有明驻的关系之问的联系,主要通过外键米隐禽定义,在统一模型z , 使用联系定义记录艇之间的关系。 关系模型中关系之间的约束上要使川引用完整性约束定义,但魁引用完整性约束只 能表达关系之间是否被引用性,4 i 能表达日l 用的次数限制,在统一模式中增强了关 联约求的描述。 关系摸型中波青蕊述元缀中字段之闻麓搴务蔑刚,统一数据模警中堙强了事务撬翻 约束定义。 关系模型对语义的描述很弱,但是在e t l 过程中很多需要通过语义来进行集成转 换,冈为各个数据源模式使用的命名墨兰问可能是不同的,所以需疆使j _ l _ j 一个相同的 命名来标识模式- p 备个对象的语义。 3 3 。统数据模型的元模型 缝一数摄搂童匏元摸鬟窥望了统一鼗撼搂型瓣蒸零元素,鞋爱基零滚熟之润的关系。统 一数据模型t | 搜用记录鬃、字段、联系三个基奉死索束描述,增如数疆模式、值域、值集合、 事务规则、字段关联元素构成统一数据模型的元模型。统。数据模型中的数据模式描述都是 元模喇的文例( 图3 1 ) 。 燕ypc蠹:sho黑rt(it涮11)iength,:i1 11ese。 m a y ( t d )l gh :“h y l d l ) l : o n l d j j lf , , + ¥ai l e s o t :v n it ln l | i e l d n a m lr 】n g ( 1 d ” x p i sl tin g ( i 1 1 ) f i e l d r e l a t t o nl 雨夏百膏甜磊万涮 o t ar g e t f ie 1d :s t r in g ( 1 d 1 ) l o e + f ! ! ! ! ! * * i ? :i + r ,d s 。t r e c f l r d s e t h o s t r i n g i d l ) t l e l d e s e f i e l d i q u e s e ts t 1 - i n g ( id 1 ) s e m a t i c :s t r in g ( i d ” r t j s ln e s s r u l i l u s s i t i t ? s s k u l o hv i1 1 - s t r n i t ( id 1 ) r e l a t l n ” + # :s t r i n g ( i d l ) q r r i s e t t s t r i n g 1 d 1 ) + r o r d st 2 :s t r i n ( i d l ) + 【:nt 1 a n 1 :s t r i n “( i d l ) + f te l d r a l a t i o n s e t :i7 ie ld l l e l i l ti + c o n sl r a 2 :s t r i n g t id 1 ) s c h o m a 丽磊i i 忑再面一 r o d s ul x :1 i u ( o ld s el r ”1 4l l | m s :r ”1 “t i ( ,f 1 i g !,揣m h s c们”帆地m 舢恤 o | j 尔南大学硕士学何论文 图3 1 统一数据模型元模型 1 s c h e m a : 数据模式类,描述一个数据模式,一个数据模j 是由多个记录集组成的,其属性为: n a m e :数据模式名称; r e c o r d s e t s :记录集的集合,集合z f ,记录集个数:o _ n 。 r e l a t i o n s :联系对象集台,集合中对象个数:0 n 。 2 r e c o r d s e t : 记录集类,描述记录集的模式,属性: n a m e :记录集名称,同个数据模式中记录集名称唯一; f i e l d s e t :字段对象集合,集合中对象个数:on : u n i q u e s e t :标识记录唯一性的字段名称组,如果为空则标识该记录集没有唯 。记录标识; s e m a n t i c :记录集的实际语义; b u s i n e s s r u l e s :事务) | ! l lj j i | j 对象集台集台l 1 对象个数:0 _ n : p h y s i c a l :记录集对应的物理存储定义,物理存储包括:关系数据庠、x m l 、 结构化文本等等。 3 f i e l d : 字段类,描述记录集中的字段,属性: n a m e :字段名称,一个记录集中字段名称唯一: d p a :字段数据类型,只属于筒单数据类型( 字符串类犁、骼型类型、浮点类 型、时间类型、二进制类型) 中的种。 d o m a i n s :值域对象,如果为空表示没有值域限制; s e m a n t i c :字段对廊的实际语义i 4 r e l a t i o n : 联系类,揣述记录集之间的联系,属性: n a m e :关系名称,在一个数据模式中联系名称唯一; r e c o r d s e t l :记录集1 名称: r e c o r d s e t 7 :记录集2 名称: f i e l d r e l a t i o n s e t :数据集之间关联字段对象集合,集合中的对象数是1 n 。 c o n s t r a i n :记录集1 上的关联限制,即记录集1 中一个记录可以荚麟剑记录 集2 中记录条数限制。一般存在这样几种情况:固定次数,次数范围,不限次 数,分别表示为 , ,一1 。 c o n s t r a i n 2 :记录集2 上的关联限制,即记录集2 中一个记录可以关联到 0 录 集l 中记录条数限制。一般存在这样几种情况:固定次数,7 久数范剖,不限次 数,分别表示为 , ,1 。 5d o m a i n : 值域类,描述字段的值范尉限制,属性: t y p e :值域的类型,不同数据类型的字段有不同的值域要求,这里的娄鸭值分 别

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论