2.1数据仓库的设计原则与模式
2.1数据仓库的设计原则与模式
P2大家好,本次课我们学习数据仓库的设计方法,我们将从以下几个方面人手学习
P3数据仓库设计概述
数据仓库设计是建立一个面向企业决策者的分析环境或系统,它是今后数据分析、数据挖掘的基础。企业在数据上投资包括数据收集、报表和查询、在线分析工具以及数据挖掘技术等,数据的价值体现就在于利用ETL工具建立数据仓库的前提下,应用数据分析工具、报表工具、多维分析方法和数据挖掘技术获得对决策有帮助的信息,如预测市场流行趋势等。
P4数据仓库有几个基本原则,一是数据设计要以业务和需求为中心,即数据仓库设计要围绕业务方向性需求、业务问题等,确定系统范围和总体框架。二是以数据来驱动,即是指其所有数据均建立在已有数据源基础上,从已存在于操作型环境中的数据出发进行数据仓库设计。
P5三是采用原型法设计数据仓库。数据仓库的系统设计不能采用同开发传统的数据库一样的设计方法。用户对建构什么样的数据仓库在一开始时是不明确的。用户的最初需求不明确、不断变化与增加。开发者最初不能确切了解到用户明确详细的需求,不能准确的预见未来的需求。用户所能提供的无非是需求的大的方向以及部分需求,所以采用原型法来进行数据仓库的开发是比较合适的。数据仓库系统开发是一个经过不断循环、反馈而使系统不断增长与完善的过程,这是区别于系统生命周期法的主要特点。
P6数据仓库设计与数据库设计的比较。处理类型不同,数据库设计是基于操作型数据环境,面向业务和应用的,而数据仓库是面向主题的分析性数据环境。面向需求不同,数据库设计是面向确定的业务和应用需求的,而数据仓库的需求是不确定的。设计目标不同,数据库设计要考虑系统的快速响应、大量用户并发操作,而数据仓库设计是针对少量用户大数据量的查询和分析。数据来源不同,数据库处理的是业务流程中产生的数据,而数据仓库是处理生产系统中的历史数据及外部数据。设计方法是不同的,数据库是采取应用需求驱动来设计的,而数据仓库是采取业务驱动加上数据驱动并存的情况下来设计的。
P7 数据仓库的构建模式有两种。一种是先整体再局部的构建模式,又称为“自上而下模式”。先根据外部数据源来构建整个单位的数据仓库,然后再根据部门的需要,从已建设好的数据仓库中重新整合部分数据,形成了数据集市,即部分级的“数据仓库”,最后运用分析工具或数据挖掘工具对数据集市中的数据进行处理,从而获得特定分析主题的分析结果。这种构建模式的优点是:数据规范化程度高,最小化数据冗余与不一致性;便于全局数据的分析和挖掘。缺点是:建设周期长、见效慢;风险程度相对大。这种构建模式适合对设计科学性和规范性较高的企业,在业务模式较固定的行业应用较好,比如金融和电信等行业
P8第二种数据仓库构建模式是先局部再整体的构建模式,又称为“自下而上模式”,即业务部门根据业务需要,直接从外部数据源中来构建起部门级的“数据仓库”,即数据集市。在多个部门构建了数据集市之后,根据单位发展需要,由单位对已经存在的多个数据集市进行综合,构建起单位的数据仓库。今后根据分析主题,既可在部门级的数据集市进行数据分析和数据挖掘,也可以在单位级的数据仓库进行数据分析与数据挖掘。这种构建模式优点是: 投资少、见效快;在设计上相对灵活;易于实现。缺点也很明显,就是会有一定级别的冗余和不一致性。这种模式非常适应互联网行业的高速发展,也适合中小型企业
P9 数据仓库的设计步骤有哪些?作为一个IT项目,数据仓库的设计在符合一般性软件工程项目设计的要求之外,也有其自身的特点。建立数据仓库是一个解决企业问题的过程,业务人员往往不懂得如何建立和使用数据仓库,发挥其决策支持的作用;信息部门的人员往往又不懂得业务,不知道应该建立哪些决策主题,从数据源中抽取哪些数据。因此数据仓库的项目小组应该由业务人员和信息部门的人员共同 组成,双方需要相互沟通,协作开发数据库。一般来说,数据仓库设计有以下几个步骤。(1)系统分析,确定主题。(2)选择满足数据仓库系统要求的软件平台。(3)建立数据仓库的逻辑模型。(4)逻辑数据模型转化为数据仓库数据模型。(5)数据仓库数据模型。(6)优化数据清洗转换和传输。(7)开发数据仓库的分析应用(8)数据仓库的管理
P10总结
好了,到此本次课就要结束了,我们做一个简短的回顾。本次课主要介绍了数据仓库设计的概述,明确了数据仓库设计的几条原则,详细说明了数据仓库构建的两种模式,以及数据仓库构建的步骤。数据仓库的设计既是一个IT项目,又是一个紧密结合业务部分的应用系统,从最初规划之时起就要树立起数据仓库的设计及应用是一个过程,而不是一个产品的理念。在数据仓库设计过程中必须是业务人员和信息人员的通力合作,在遵循软件工程开发方法的指导下,系统开展数据仓库的设计,才有可能取得成功。
好,这次课到此结束,谢谢!
P10系统分析,确定主题
建立数据仓库的第一个步骤就是通过与业务部门的充分交流,了解建立数据仓库所要解决的问题的真正含义,确定各个主题下的查询分析要求。业务人员往往会罗列出很多想解决的问题,信息部门的人员应该对这些问题进行分类汇总,确定数据仓库所实现的业务功能。一旦确定问题以后,信息部门的人员还需要确定一下几个因素:
·操作出现的频率,即业务部门每隔多长时间做一次查询分析。
·在系统中需要保存多久的数据,是一年、两年还是五年、十年。
·用户查询数据的主要方式,如在时间维度上是按照自然年,还是财政年。
·用户所能接受的响应时间是多长、是几秒钟,还是几小时。
由于双方在理解上的差异,确定问题和了解问题可能是一个需要多次往复的过程,信息部门的人员可能需要做一些原型演示给业务部门的人员看,以最终确定系统将要实现的功能确实是业务部门所需要的。
P11.选择满足数据仓库系统要求的软件平台
在数据仓库所要解决的问题确定后,第二个步骤就是选择合适的软件平台,包括数据库、建模工具、分析工具等。这里有许多因素要考虑,如系统对数据量、响应时间、分析功能的要求等,以下是一些公认的选择标准:
·厂商的背景和支持能力,能否提供全方位的技术支持和咨询服务。
·数据库对大数据量(TB级)的支持能力。
·数据库是否支持并行操作。
·能否提供数据仓库的建模工具,是否支持对元数据的管理。
·能否提供支持大数据量的数据加载、转换、传输工具(ETT)。
·能否提供完整的决策支持工具集,满足数据仓库中各类用户的需要。
P12.建立数据仓库的逻辑模型
具体步骤如下:
(1)确定建立数据仓库逻辑模型的基本方法。
(2)基于主题视图,把主题视图中的数据定义转到逻辑数据模型中。
(3)识别主题之间的关系。
(4)分解多对多的关系。
(5)用范式理论检验逻辑数据模型。
(6)由用户审核逻辑数据模型。
4.逻辑数据模型转化为数据仓库数据模型
具体步骤如下:
(1)删除非战略性数据:数据仓库模型中不需要包含逻辑数据模型中的全部数据项,某些用于操作处理的数据项要删除。
(2)增加时间主键:数据仓库中的数据一定是时间的快照,因此必须增加时间主键。
(3)增加派生数据:对于用户经常需要分析的数据,或者为了提高性能,可以增加派生数据。
(4)加入不同级别粒度的汇总数据:数据粒度代表数据细化程度,粒度越大,数据的汇总程度越高。粒度是数据仓库设计的一个重要因素,它直接影响到驻留在数据仓库中的数据量和可以执行的查询类型。显然,粒度级别越低,则支持的查询越多;反之,能支持的查询就有限。
对数据操作的效率与能得到数据的详细程度是一对矛盾,通常,人们希望建成的系统既有较高的效率,又能得到所需的详细资料。实施数据仓库的一个重要原则就是不要试图包括所有详细数据,因为90%的分析需求是在汇总数据上进行的。试图将粒度细化到最低层,只会增加系统的开销,降低系统的性能。
[page] 5.数据仓库数据模型优化
数据仓库设计时,性能是一项主要考虑因素。在数据仓库建成后,也需要经常对其性能进行监控,并随着需求和数据量的变更进行调整。
优化数据仓库设计的主要方法是:
·合并不同的数据表。
·通过增加汇总表避免数据的动态汇总。
·通过冗余字段减少表连接的数量,不要超过3~5个。
·用ID代码而不是描述信息作为键值。
·对数据表做分区。
6.数据清洗转换和传输
由于业务系统所使用的软硬件平台不同,编码方法不同,业务系统中的数据在加载到数据仓库之前,必须进行数据的清洗和转换,保证数据仓库中数据的一致性。
在设计数据仓库的数据加载方案时,必须考虑以下几项要求:
·加载方案必须能够支持访问不同的数据库和文件系统。
·数据的清洗、转换和传输必须满足时间要求,能够在规定的时间范围内完成。
·支持各种转换方法,各种转换方法可以构成一个工作流。
·支持增量加载,只把自上一次加载以来变化的数据加载到数据仓库。
7.开发数据仓库的分析应用
建立数据仓库的最终目的是为业务部门提供决策支持能力,必须为业务部门选择合适的工具实现其对数据仓库中的数据进行分析的要求。
信息部门所选择的开发工具必须能够:
·满足用户的全部分析功能要求。数据仓库中的用户包括了企业中各个业务部门,他们的业务不同,要求的分析功能也不同。如有的用户只是简单的分析报表,有些用户则要求做预测和趋势分析。
·提供灵活的表现方式。分析的结果必须能够以直观、灵活的方式表现,支持复杂的图表。使用方式上,可以是客户机/服务器方式,也可以是浏览器方式。
事实上,没有一种工具能够满足数据仓库的全部分析功能需求,一个完整的数据仓库系统的功能可能是由多种工具来实现,因此必须考虑多个工具之间的接口和集成性问题,对于用户来说,希望看到的是一致的界面。
8.数据仓库的管理
只重视数据仓库的建立,而忽视数据仓库的管理必然导致数据仓库项目的失败。数据仓库管理主要包括数据库管理和元数据管理。
数据库管理需要考以下几个方面:
·安全性管理。数据仓库中的用户只能访问到他的授权范围内的数据,数据在传输过程中的加密策略。
·数据仓库的备份和恢复。数据仓库的大小和备份的频率直接影响到备份策略。
·如何保证数据仓库系统的可用性,硬件还是软件方法。
·数据老化。设计数据仓库中数据的存放时间周期和对过期数据的老化方法,如历史数据只保存汇总数据,当年数据保存详细记录。
然而,元数据管理贯穿于整个系统的建设过程中,元数据是描述数据的数据。在数据采集阶段,元数据主要包括下列信息:
·源数据的描述定义:类型、位置、结构。
·数据转换规则:编码规则、行业标准。
·目标数据仓库的模型描述:星型/雪花模型定义,维/事实结构定义。
·源数据到目标数据仓库的映射关系:函数/表达式定义。
·代码:生成转换程序、自动加载程序等。
在数据管理阶段,元数据主要包括下列信息:
·汇总数据的描述:汇总/聚合层次、物化视图结构定义。
·历史数据存储规则:位置、存储粒度。
·多维数据结构描述:立方体定义、维结构、度量值、钻取层次定义等。
在数据展现阶段,元数据主要包括以下信息:
·报表的描述:报表结构的定义。
·统计函数的描述:各类统计分析函数的定义。
·结果输出的描述:图、表输出的定义。
元数据不但是独立存放,而且对用户是透明的,标准元数据之间可以互相转换。