欢迎来到天天文库
浏览记录
ID:33535597
大小:74.58 KB
页数:12页
时间:2019-02-26
《数据仓库建模方法论-2018-3-29》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据仓库建模方法论通过上一篇数据仓库建设的全局概览,我们认识了数据仓库,也明确了数据建模在仓库建设中的核心地位,数据仓库模型是整个大厦的基石,也是个难点。这么重要的环节就有必要单独拿出来详细说明一下。(本文的重点是维度建模)1什么是数据模型数据模型是抽象描述现实世界的一种方法,是通过抽象的实体及实体之间的联系来表示现实世界中事务的相互关系的一种映射。数据仓库模型是数据模型中针对特定的数据仓库应用系统的特定模型。由下图四部分内容组成:领域模型•逻辑模型►物理模型数据仓库模型的四阶段•业务建模,主要解决业务层面的分解和程序化.•领域建模,主要对业务模型进行抽象处理,生成
2、领域概念模型。•逻辑建模,主要将领域模型的概念实体以及实体之间的关系进行数据库层次的逻辑化。•物理建模,主要解决逻辑模型针对不同关系型数据库的物理化以及性能等一些具体的技术问题。2数据仓库数据模型架构数据仓库模型由五部分组成,如下图:系统记录域汇总域分析域反馈域内部管理域系统记录域:数据仓库业务数据存储区,模型保证了数据的一致性C(继续使用Oracle?)内部管理域:也就是元数据模型的存储管理。(工具待定)汇总域:系统记录域的汇总数据,数据模型保证的主题分析的性能,满足部分报表查询。分析域:用于各个业务部分的具体的主题分析。也就是数据集市。反馈域:针对前端反馈的数据
3、,根据业务需求而定。3数据模型的作用•进行全面的业务梳理,改进业务流程。•建立全方位的数据视角,打通信息孤岛,去除数据差异。•解决业务的变动,提高数据仓库灵活性。•帮助数据仓库系统本身的建设。4如何创建数据仓库模型4.1数据仓库建模四个阶段4丄1.业务建模•划分整个企业的业务,一般按部门划分,进行各个部分之间业务工作的界定,理清各业务部门之间的关系。•深入了解各业务部门工作流程的方法。•提出修改和改进业务部门工作流程的方法。•数据建模的范围界定,确定数据仓库项目的目标和阶段划分。4.1.2领域概念建模•抽取关键业务概念,并抽象化。•将业务概念分组,按业务主线聚合类似
4、的分组概念。•细化分组概述,理清分组概念内的精力流程并抽象化。•理清分组概念之间的关联,形成完整的领域概念模型。413逻辑建模业务概念实体化、事实实体化、说明实体化,并考虑其属性内容。4.1.4物理建模•针对特定物理平台做出相应的技术调整•针对模型的性能考虑,结合特定平台做出相应调整•生成执行脚本,并完善。4.2数据仓库建模的方法数据仓库建模方法种类较多,常见的三种是范式建模、维度建模、实体建模,每种方法本质上都是从不同的角度解决业务中的问题。4.2.1范式建模Inmon所提倡的范式建模就是关系数据库用的三范式建模方法,数据仓库模型的建设方法和业务系统的数据模型类似
5、。有一些区别就是:1)数据仓库的域模型应该包含业务数据模型到域模型之间的关系,以及各主题域定义,数据仓库的域模型概念比业务系统的主题域模型范围更广。2)在数据仓库的逻辑模型需耍从业务系统的逻辑模型中抽象实体、实体的属性、实体的子类、实体关系等。•优点:从关系型数据库角度出发,结合了业务系统的数据模型,方便实现数据仓库的建模。•缺点:某些时候限制了整个数据仓库的灵活性、性能等。特别在底层数据向数据集市汇总时需要进行在量的数据处理工作。4.2.2维度建模Kimball主张维度建模法,就是按维度表、事实表来构建数据仓库、数据集市。维度建模有星形、雪花型两种常见类型。•优点
6、:维度模型可极大提升数据仓库的处理能力;紧紧围绕业务模型,直观的反映业务问题。•缺点:构建模型之前需要进行大量的数据预处理,当业务变化后需要重新定义维度时,需要重新进行维度数据的预处理;很难提供一个完整地描述真实业务实体之间复杂关系的抽象方法。•辩解:对于这些缺点,都是片面的,因为数据仓库总线架构和维度处理方法能很好解决以上问题。以下对维度建模深入介绍一下:4.2.2.1维度建模的四个步骤1)选择业务过程(比如:用户管理、账户管理、产品交易等)2)声明粒度(确定数据单位的综合程度)3)识别维度(粒度已经确定了一个基木的维度集合,根据需要再添加其他相关的维度)4)识别
7、事实(选择适合业务过程的指标)4・2・2・2企业数据仓库总线数据仓库建模的争议点:从建立一个集中式的、规划好的架构角度为整个企业建立数据仓库,还是为每个具体的部门建立小型的独立解决方案。当然这两种都不是很有效。前者需要在设计之前将所有数据、所有业务完全掌握清楚,并对数据清洗等了解清楚,这个很难办到,后者由于是单独的创建集市,导致各集市互不兼容,无法形成企业级的全局的数据仓库。如何解决这一难题,首先需要迅速简洁地定义整个企业数仓系统的数据架构,收集业务需求生成企业数据仓库总线矩阵,矩阵每行对应一个业务过程,每列都是一个业务维度。逐个收集业务过程,并使用一致性维度确
此文档下载收益归作者所有