数据仓库设计与实现.docx
- 文档编号:27400580
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:23
- 大小:389.06KB
数据仓库设计与实现.docx
《数据仓库设计与实现.docx》由会员分享,可在线阅读,更多相关《数据仓库设计与实现.docx(23页珍藏版)》请在冰豆网上搜索。
数据仓库设计与实现
数据仓库的设计与实现
ﻬ第1章 数据仓库的设计与实现
1.1数据仓库设计过程
数据仓库的设计一般从操作型数据开始,通常需要经过以下几个处理过程;数据仓库设计—-数据抽取——数据管理.
一、数据仓库设计
根据决策主题设计数据仓库结构,一般采用星型和雪花模型设计其数据模型,在设计过程中应保证数据仓库的规范化和体系各元素的必要联系.
二、数据抽取
根据元数据库中的主题表定义、数据源定义、数据抽取规则定义对异地异构数据源进行清理、转换、对数据进行重新组织和加工,装载到数据仓库的目标库中。
三、数据管理
数据管理分为目标数据维护和元数据维护两方面。
目标数据维护是根据元数据为所定义的更新频率、更新数据项等更新计划任务来刷新数据仓库,以反映数据源的变化,且对时间相关性进行处理。
元数据是数据仓库的组成部分,元数据的质量决定整个数据仓库的质量.当数据源的运行环境、结构及目标数据的维护计划发生变化时,需要修改元数据。
1.2需求分析与决策主题的选取
通过对管理者和各级别的用户的数据分析需求进行调研,我们收集并整理出了用户的决策分析需求如下:
1。
2.1博士学位授予信息年度数据统计分析
一、按主管部门统计
从主管部门的角度,分析在一个时间段(年)内,各主管部门所授予的博士学位信息统计。
可回答如“2008,由某部门主管的,博士学位授予一共有多少,其平均学习年限是多少,脱产学习的有多少人?
”等问题。
具有表格和图形两种方式来展示分析结果.典型报表格式如表1所示。
表1 200__年度授予博士学位情况统计表(按主管部门统计)
主管部门
授予人数
其中学历博士
其中同等学历博士
其中女
平均年龄
少数民族
平均学习年限
其中一级学科授予
在学期间成果
论文
成果
专利
合计
中国科学院
财政部
…
…
表 1续 200__年度授予博士学位情况统计表(按主管部门统计)
学习方式
录取类别
就业单位类别
脱产
半脱产
业余
定向
非定向
机关
科研、设计单位
金融单位
部队
待就业
录取研究生
其他
二、按性质类别统计
三、按地区统计
四、按单位统计
五、按学科门类统计
六、按一级学科统计
七、按二级学科统计
1.2.2硕士学位授予信息年度数据统计分析
一、按主管部门统计
二、按性质类别统计
三、按地区统计
四、按单位统计
五、按学科门类统计
六、按一级学科统计
七、按二级学科统计
1.2。
3学士学位授予信息年度数据统计分析
一、按主管部门统计
二、按性质类别统计
三、按地区统计
四、按单位统计
五、按学科门类统计
六、按学科类别统计
七、按专业统计
1.3系统体系结构设计
通过对当前各种主流数据仓库软件在性能、价格等方面的对比,充分考虑统计业务、单位数量等实际情况,本系统决定采用SQLServer2005数据仓库软件来构建综合信息分析系统的数据仓库。
本系统服务器端要求运行平台为Windows 2003Server企业版,客户端要求WindowsXP,浏览器为IE6.0;采用SQLServer2005数据仓库构建方案构建数据仓库,选用VisualStudio.NET2003/SQLServer2005、Rose、PowerDesigner等开发工具进行系统开发。
我们设计的综合信息分析系统构架在统计综合信息平台中,其核心功能表现为通过数据转换技术,将直报数据库及其他数据源的数据库生成利于进行分析的、不同于关系数据库的数据仓库,根据不同的分析需求建立不同的专题分析数据库(多维数据库),最后对多维数据库进行利用联机分析处理、数据挖掘,其架构如图所示。
图 1学位授予信息统计系统架构
在这个体系结构中,存放于系统数据库中的业务数据及外部数据源数据按照主题通过ETL工具被抽取到ETL数据库(数据准备区),数据在ETL数据库中完成预处理工作(清洗和转换),再通过ETL工具加载到数据仓库。
数据进入数据仓库后按照维度和事实存放,采用MSAnalysisServiees作为OLAP服务器,AnalysisServiees可以方便的定义维度和构建OLAP立方体。
用户使用前端的查询工具、报表工具、分析工具,就可以访问决策支持系统并分析浏览数据了.
由于数据预处理本身的复杂性,直接从外部数据源把数据整合到数据仓库必将导致该过程即占用许多外部操作型数据库的资源和时间,也会影响数据仓库装载数据的效率。
借鉴算法研究中“以空间换时间"的思想,再结合目前硬件成本的下降,本系统中,我们在数据仓库的体系结构中添加一个专门进行数据预处理的存储区域以提高数据仓库系统整体性能。
在系统设计中,应注意以下问题:
一、理顺学位授予信息之间的关系以及业务数据是保证数据质量的关键,抽取信息的质量依赖于用户对结果的解释,容易导致错误。
二、针对不完整的数据、不一致的数据、错误的数据以及冗余数据确定数据处理规则,即ETL实施的具体规则。
三、系统监控与数据管理包括维表的维护、增量数据抽取转换等的控制、系统出错报警、异常处理、数据存储及访问的安全性、海量数据的查询效率、数据各份策略等。
四、模型设计是系统的基础和成败的关键,在实际操作的过程中,要注意的问题包括主题的确定、分析内容的细化、粒度的设计等.
1。
4系统数据逻辑结构设计
1.4.1基础层模型设计
基础层数据用于存放从学历教育博士学位、同等学力人员申请博士学位、博士专业学位、学历教育硕士学位、同等学力人员申请硕士学位、硕士专业学位、普通高等教育本科毕业生学士学位、成人高等教育本科毕业生学士学位、来华留学本科毕业生学士学位、学士专业学位等数据源ETL过来的数据,这些业务数据将进行整合、组织、重构和存放。
根据学位银行授予统计系统需求,基础层模型包含博士学位信息主题域、硕士学位信息主题域、学士学位信息主题域。
博士学位授予信息是指主题域存放所授予的博士学位信息,分为学历教育博士学位、同等学力人员申请博士学位、博士专业学位。
主要的信息有:
个人基本信息、学科信息、学位信息、学位论文信息、前置学位信息、获学位后去向信息等.
图
2学历教育博士学位授予信息基础层模型
硕士学位授予信息是指主题域存放所授予的硕士学位信息,分为学历教育硕士学位、同等学力人员申请硕士学位、硕士专业学位。
主要的信息有:
个人基本信息、学科信息、学位信息、学位论文信息、前置学位信息、获学位后去向信息等。
学士学位授予信息是指主题域存放所授予的学士学位信息,分为普通高等教育本科毕业生学士学位、成人高等教育本科毕业生学士学位、来华留学本科毕业生学士学位、学士专业学位。
主要的信息有:
个人基本信息、学科信息、学位信息等.
1。
4.2汇总层模型设计
汇总层模型的设计需要考虑汇总的粒度问题,汇总的粒度不同,能够回答的业务问题也不一样,由于系统数据庞大繁杂,学位授予时间相对比较固定,本模型将汇总层模型设计为年。
该层的设计主要考虑数据向年度级别的汇总,解答如某年某主管单位所授予的博士学位人数等业务问题.根据博士学位信息授予主题的需求分析,即分析的角度(也叫维度)、指标、查询的内容,以博士学位信息授予主题为例,其汇总层的数据模型如图所示。
图 3学历教育博士学位授予信息汇总层模型
1.4.3报表层模型设计
报表层数据是用于存放学位授予信息统计系统中固定报表统计数据,同时也是灵活查询的数据源。
这些数据是根据报表业务规则,从基础层和汇总层统计而出,本模型主要包括内容有:
授予博士学位信息统计表、授予硕士学位信息统计表、授予学士学位信息统计表。
以博士学位信息统计主题为例,其博士学位信息报表层的数据模型如图所示.
图4 学历教育博士学位授予信息(按主管部门统计)报表层模型
1。
5数据仓库模型设计
为满足决策分析的需要,系统需要将各种数据源来的数据围绕决策主题存储到数据仓库中,以提高数据查询、聚集的效率。
数据仓库建模采用自上而下的三级建模方式,即概念建模、逻辑建模、物理建模。
概念建模可采用信息打包法,逻辑建模以星型建模方法和雪花建模方法为主,物理建模以3NF和星型建模方式为主。
图 5数据仓库建模方法
在数据仓库的3级数据模型中,概念模型表示现实世界的“业务信息"构成关系,用业务数据库设计中的“实体-关系”方法(E—R方法)来设计这一级的数据模型,但需要用分析主题代替传统E-R方法中的实体。
在传统业务数据库设计中的逻辑模型一般采用范式规范的表及其关系,数据仓库设计中的逻辑模型也采用表来存储数据,因此也数据仓库中使用的也是关系模型,不过表与表之间不再通过3大范式的规范,而是以星形结构、雪花形结构和星座型结构等方式组成。
物理模型则属于这些表的物理存储结构,比如表的索引设计等.数据仓库的设计就是在概念模型、逻辑模型和物理模型的依次转换过程中实现的。
作为数据仓库的灵魂——元数据模型则自始至终伴随着数据仓库的开发、实施与使用。
数据粒度和聚合模型也在数据仓库的创建中发挥着指导的作用,指导着数据仓库的具体实现。
图4表达了微观数据仓库设计中各种概念之间的关系。
图6 微观数据仓库设计中各种概念之间的关系
在上图的关系图中,元数据是在对企业商业智能需求分析和概念模型设计阶段就应该设计好并且一直贯穿于数据仓库应用全程的重要部分,而数据粒度和聚合的设计则是在逻辑模型的设计过程中完成的,物理模型则需要做一些存储优化方面的工作。
具体而言,这三级数据模型设计的每一个阶段都有相应的详细设计步骤,图5即是对这些步骤的一个总结。
图7数据仓库数据库设计的步骤
数据仓库包括以下维度表:
人的性别代码、世界各国和地区名称代码、中国各民族名称罗马字母拼写法和代码、政治面貌代码、身份证件类型代码、中华人民共和国行政区划(省市)代码、高等学校代码、学位类别代码、授予博士、硕士学位和培养研究生的学科、专业目录、学习方式代码、攻读类型代码、论文类型代码、论文选题来源代码、学位类别代码、专业目录、获学位后去向代码、工作单位性质类别代码、工作性质代码、工作单位性质类别代码、专业技术职务级别代码、干部职务级别代码、专业学位领域代码、考试方式代码、以研究生毕业同等学力申请硕士学位学生类别代码、高等学校本、专科专业代码、留学生培养方式代码;
包括以下事实表:
学历教育博士学位信息表、同等学力人员申请博士学位信息表、博士专业学位信息表;学历教育硕士学位信息表、同等学力人员申请硕士学位信息表、硕士专业学位、普通高等教育本科毕业生学士学位信息表、成人高等教育本科毕业生学士学位信息表、来华留学本科毕业生学士学位信息表、学士专业学位信息表.
1.5。
1概念模型设计
概念建模主要表达决策的主题、分析主题的角度、各个角度需要分析的属性信息,决策中层次的信息—粒度,及决策主题的评估等。
1997年Hammergren提出的信息打包方法,要求从一个决策者的角度去将焦点集中在几个主题上,着重分析所涉及的数据多维性。
信息打包方法首先需要确定分析的主题,然后围绕这个主题填入指标、维度、粒度等信息.
1。
定义关键性指标:
定义分析主题的评估指标;
2.定义维度:
维度是用户访问评估信息的途径,每一个维度只表示一个主要的访问途径。
3.定义粒度:
粒度是维度中信息的详细程度。
我们分析对象为对学位授予信息的统计分析。
下面以博士学位授予信息统计作为分析主题为例,为学位信息分析系统数据仓库建立概念模型。
一、博士学位授予信息统计
从主管部门、性质类别、地区、单位、学科门类、一级学科、二级学科等不同角度,对授予人数、平均年龄、少数民族、平均学习年限、其中一级学科授予、学习方式、录取类别、就业单位类别等进行分析,分析在指定变化周期内的统计数据。
其博士学位授予信息统计如表所示。
表2博士学位授予信息统计
分析对象
博士学位授予信息统计
分析度量
(内容)
授予人数ﻩ其中学历博士其中同等学历博士ﻩ其中专业学位博士ﻩ其中女ﻩ平均年龄少数民族平均学习年限其中一级学科授予在学期间成果学习方式ﻩ录取类别就业单位类别
分析角度
名称
公共维
博士学位信息维
学位类型
年度
主管部门
性质类别
地区
单位
学科门类
一级学科
二级学科
博士学位
二、硕士学位授予信息统计
从主管部门、性质类别、地区、单位、学科门类、一级学科、二级学科等不同角度,对授予人数、平均年龄、少数民族、平均学习年限、其中一级学科授予、学习方式、录取类别、就业单位类别等进行分析,分析在指定变化周期内的统计数据。
其硕士学位授予信息统计如表所示。
表3 硕士学位授予信息统计
分析对象
硕士学位授予信息统计
分析度量
(内容)
授予人数ﻩ其中学历硕士ﻩ其中同等学历硕士ﻩ其中专业学位硕士其中学校教师专业学位ﻩ其中女ﻩ平均年龄少数民族平均学习年限其中一级学科授予在学期间成果学习方式录取类别ﻩ就业单位类别
分析角度
名称
公共维
硕士学位信息维
学位类型
年度
主管部门
性质类别
地区
单位
学科门类
一级学科
二级学科
硕士学位
三、学士学位授予信息统计
从主管部门、性质类别、地区、单位、学科门类、专业等不同角度,对授予人数、平均年龄、少数民族、平均学习年限、其中一级学科授予、学习方式、录取类别、就业单位类别等进行分析,分析在指定变化周期内的统计数据。
其硕士学位授予信息统计如表所示.
表 4学士学位授予信息统计
分析对象
学士学位授予信息统计
分析度量
(内容)
授予人数ﻩ其中女平均年龄少数民族ﻩ就业单位类别
分析角度
名称
公共维
学士学位信息维
学位类型
年度
主管部门
性质
地区
单位
学科门类
学科类别
专业
学士学位
1.5.2逻辑模型设计
概念逻辑建模中将分析模型描述成一个可以实现的模式,根据这个模式可以实现存储到实际的数据存储器里.星型模型比较适合数据仓库的要求,在星型模型的基础上扩展出雪花模型。
1、星型模型
星型模型中使用事实、维、维属性、事实度量来描述.星型模型以事实为中心,各个维为角的星型结构,事实使用度量来评估,维中使用属性来描述维中的类别信息和描述信息.
2、雪花模型
雪花模型是在星型模型的基础上增加了粒度层次的描述。
根据以上对星型模型中维属性的分析可知,同一种星型模型可以转化成不同的雪花模型,转的根据是属性层次的确定。
不同的属性层次结构可以展现成不同的雪花图.
3、逻辑模型中聚集操作的需求和表示
为加快分析速度,可以将分析频繁的层次预先进行聚集操作,即将信息按照属性粒度层次来进行聚集,当需要进一步分析时再到原有的基本信息中进行搜索。
本系统采用的是星型模型。
1。
5。
3物理模型设计
物理建模就是将逻辑模型转换成实际存储的模型.对于数据仓库来讲,实际存储的模式一般包括两种:
关系模型和多维模型.多维模型按照多维来存储数据可以提供很快的查询速度,但是在大容量的情况下性能会下降,主要是多维存储需要大量的存储空间,而且在多维存储框架中索引不是很好建立.所以多维存储结构一般应用在数据量不是很大的,保存聚集数据的数据集市和OLAP服务器中。
数据仓库一般需要保存基本粒度的数据,所以一般采用关系模型。
现在不同的关系数据库厂家都对数据仓库存储进行了优化,提供了一些对数据仓库比较有效的索引技术和连接技术.
一、物理建模的要求
数据仓库中保存了分析需要的海量数据,分析时主要是在大量的数据中查询所需要的部分。
所以物理模型中如何才能提供更快的查询速度是设计的关键。
数据仓库提高查询速度的方法有几种:
索引技术:
数据库中索引可以加快表中信息检索速度,但是以牺牲空间和索引维护时间为代价的。
多维数据库中索引的建立比较复杂,但多维数据库本身就是为了检索而建立的一种存储模型,所以多维数据库中索引技术不是很重要。
关系数据仓库中由于事实表中保存的数据数量非常大,如果使用一般的索引(B树)的话,需要很大的存储空间.所以数据仓库中一般使用位图索引技术来减少存储空间.
减少表连接操作:
在关系数据仓库不可避免的需要对维表和事实表进行连接,关系数据库中表的连接需要很多的资源,使查询性能下降。
所以对关系数据仓库的模型设计中表连接越少越好。
预聚集技术:
由于决策分析的需要按维中的属性层次来分析主题,不可避免的需要对评估数据按维属性粒度层次进行聚集。
如果数据量大,而且聚集数据使用的频率很高的话,通过预先聚集这些数据可以加快分析速度.
分割技术:
决策中不一定需要所有的数据,有一部分数据是一些休眠数据,一般不会使用到它们,分析时如果在整个数据集上处理的话需要花很多时间,如果只对那些需要分析的数据进行分析可以加快分析的速度。
数据仓库建模工作完成之后,就可以使用数据仓库建模工作将各维表及事实表,生成到数据仓库中了。
学位授予信息系统数据仓库的物理建模相应的物理表和各个维度及公共维度的设计表(部分表)
1。
6数据预处理过程模型设计
建立数据仓库不仅仅要考虑到联机分析(OLAP)的需要,更重要的是要考虑到数据挖掘的需要。
由于数据仓库中的数据量可能以几何级数迅速增长,这就导致数据仓库中常常包含许多含有噪声、不完整、甚至不一致的数据,这严重影响数据处理的效率和效果,影响决策者的决策。
目前数据挖掘的研究主要着眼于数据挖掘算法的探讨,而忽视了对数据预处理的研究。
但事实上,数据挖掘中的预处理工作量常常占到整个数据挖掘工作量的60%左右,可见数据预处理工作是相当基础和重要的步骤。
在本系统的构建中,采用了如下数据预处理策略。
1.6。
1系统ETL结构设计
本系统数据分为业务基础数据模型层、汇总数据模型层、报表层和参数层.如图所示。
图 8 ETL数据架构设计
一、临时数据区存放从ODS抽取过来的数据,结构保持与ODS模型一致,不保存历史。
二、业务基础数据模型层,存放从ECIF、CCBS和CLPM系统抽取过来的业务数据,以向汇总层和报表层提供明细数据.
三、汇总数据模型层针对应用需求对数据进行各类汇总.
四、报表层存放按报表展现需求汇总的数据。
五、参数层存放系统中代码字典及参数信息.
1。
6。
2将数据预处理集成在数据仓库构建过程中
基于数据仓库的数据挖掘一般的步骤是:
建立数据仓库一进行数据预处理—数据挖掘。
实际上,数据预处理完全可以在构建数据仓库的同时进行.可以将数据预处理融人数据仓库的构建过程中,并将数据仓库的构建作为数据挖掘的一个重要预处理步骤,将两者有机结合起来。
下图说明了基于数据仓库的数据预处理过程模型。
图 9数据预处理过程模型
基于数据仓库的数据预处理过程模型中的主线是数据的流动,即原始数据-数据集市-数据仓库-数据挖掘训练集。
在主线的两边是同时进行的两个不同的过程:
数据仓库构建过程和数据预处理过程。
整个过程可以分成三个阶段,清理阶段将原始数据按业务功能进行汇总,形成部门级的数据集市。
在此过程中需要处理一些原始数据中存在的问题,如空缺值、噪声数据干扰等.集成阶段将不同部门的数据集市按主题进行归并集成,形成企业级的数据仓库。
数据集成时,由于各个数据集市存放数据的角度不同,因此在进人数据仓库系统中有可能会产生冗余,并且由于它们在数据结构、代码和定义方面的不一致性也会造成数据存在二义性等问题。
因此,数据集成到数据仓库之后仍需要进行去除冗余、解决不一致性等工作。
归约阶段实际上超出了构建数据仓库的范畴,它是为其后的数据挖掘做数据准备工作,主要是对原始数据在保留其“本质”的情况下进行压缩、变换,使之成为易于进行数据挖掘的数据集.
1。
6。
3数据仓库体系结构的改进方法
传统的数据仓库体系结构如下图所示.基于这种体系结构构建数据仓库时,外部数据源通过ETL工具的处理直接加载到数据仓库中,这种处理方式存在一些不足之处:
一、由于数据预处理本身的复杂性,直接整合必将导致该过程即占用许多外部操作型数据库的资源和时间,也会影响数据仓库装载数据的效率。
二、在数据源中通过抽取、清理、转换后,向数据仓库进行传输时如发生系统故障或网络故障,就只能全部重做整个数据预处理过程,极大的浪费了资源和时间。
图
10传统的数据仓库体系结构
考虑到算法研究中“以空间换时间"的思想,再结合目前硬件成本的下降,我们可以在数据仓库的体系结构中添加一个专门进行数据预处理的存储区域以改进数据仓库系统整体性能,改进后的数据仓库体系结构如图所示。
图11改进的数据仓库体系结构
在改进的数据仓库体系结构中,数据缓冲区是为了数据预处理高效顺利进行而引入的阶段性数据存储区域,它是外部数据源进入数据仓库前的缓冲区.数据仓库主题所需要的各个外部数据系统的数据首先直接快速导入数据缓存区,然后再从数据缓存区经过数据清理、映射和转换等复杂的数据预处理操作加载到数据仓库中.通过引入数据缓存区,我们就把复杂的数据预处理过程分解为两个阶段数据源一数据缓存区~数据仓库。
这样一来,我们在第一阶段的数据传输过程中,就可以避免复杂的数据处理,只是简单地针对主题所需进行数据抽取,从而保证数据的快速导入,并且可以大大减小对外部操作型数据系统的压力。
1.7学位授予信息分析应用系统的实现
1.7。
1平台选择
一、.NetFramework
应用平台和数据仓库开发共享一套相似的技术组件,如:
业务系统源数据;设计/开发工具;数据析取和转换工具;数据库管理系统(DBMS);数据存取和分析工具;系统管理工具等等。
Microsoft.NetFramework中的数据仓库框架部分描述了在组装、使用和管理数据仓库中用到的多种组件之间的关系。
数据仓库框架的核心由两种技术构成:
集成的元数据库和数据传输层(OLEDB)。
这些技术使得在数据仓库中涉及到的产品和组件的互用性成为可能。
OLE DB对多种数据提供了标准化的、高性能的访问,并允许集成多种数据类型。
MicrosoftRepository提供了综合的元数据库,这些元数据库可以在数据仓库中由多种组件共享,共享的元数据允许为多种供货商提供的多种产品进行透明的集成,而无需在产品之间设置特殊的接口。
Microsoft.NetFramework从底层向上设计,为微软产品用户和第三方企业提供行业标准技术,能很容易地扩展成开放式体系结构。
这就使企业能选择同类中最好的组件并仍能确保集成。
二、Analysis Services
Microsoft SQLServerAnalysisServices是用于联机分析处理(OLAP)和数据挖掘的中层服务器。
AnalysisServices系统包括一个服务器,可以构造用于分析的数据多维数据集,同时AnalysisServices系统还提供对多维数据集信息的快速客户端访问。
Analysis Services将数据仓库中的数据组织成包含预先计算聚合数据的多维数据集,以便为复杂的分析查询提供快速解答。
1.7。
2创建数据仓库
当数据仓库完成物理模型设计以后,就需要进行数据仓库的物
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据仓库 设计 实现