1、第4章 数据仓库设计与开发,引例:沃尔玛的数据仓库,沃尔玛利用NCR的Teradata可对7.5TB的数据进行存储,这些数据主要包括各个商店前端设备(POS、扫描仪)采集来的原始销售数据和各个商店的库存数。Teradata数据库里存有196亿条记录,每天要处理并更新2亿条记录,要对来自6000多个用户的4.8万条查询语句进行处理。销售数据、库存数据每天夜间从3000多个商店自动采集过来,并通过卫星线路传到总部的数据仓库里。沃尔玛数据仓库里最大的一张表格(Table)容量已超过300GB、存有50亿条记录,可容纳65个星期3000多个商店的销售数据,而每个商店有5万到8万个商品品种。利用数据仓库
2、技术,沃尔玛对商品进行市场类组分析,即分析哪些商品顾客最有希望一起购买。,思考:,沃尔玛的数据仓库是怎样建成的?,教学目标,掌握数据仓库的设计和开发方法数据模型的设计维度设计粒度设计数据仓库的开发步骤,本章内容,4.1 数据仓库的开发过程及特点1.数据仓库的开发过程 2.数据仓库的开发特点 4.2 数据模型设计 1.概念模型2.逻辑模型3.物理模型4.维度的设计4.3 数据仓库的粒度设计 4.4 创建数据仓库的基本步骤,1.数据仓库的开发过程,按照生命周期发法可将数据仓库开发的全部过程分成三个阶段。(1)数据仓库规划分析阶段。(2)数据仓库设计实施阶段。(3)数据仓库的使用维护阶段。这三个阶段
3、不是简单的循环往复,而是不断完善提高的过程。一般情况下,数据仓库系统都不可能在一个循环过程中完成,而是经过多次循环开发,每次循环都会给系统增加新的功能,这种循环的工作永远不会终结,数据仓库也就一直处于一个不断完善、不断提高的循环过程中。,数据仓库开发的生命周期,数据仓库开发的生命周期,1)DW规划分析阶段调查、分析DW环境;完成DW的开发规划;确定DW开发需求。建立包括实体图、星型模型、雪花模型、元数据模型及数据源分析的主题域数据模型,并且根据主题域数据模型开发DW逻辑模型。,数据仓库开发的生命周期,2)DW设计实施阶段根据DW的逻辑模型设计DW体系结构;为DW中每个目标字段确定其在业务系统或
4、外部数据源中的数据来源;开发或购买用于抽取、清洗、转换和聚合数据等中间件程序;将数据从数据源加载到DW,并且进行测试。,数据仓库开发的生命周期,3)DW使用维护阶段投入使用,且在使用中改进、维护DW;对DW进行评价,为下一个循环开发提供依据。,2.数据仓库开发的特点,1)数据仓库的开发是从数据出发的创建DW是在原有的数据库系统中的数据基础上进行的,我们称之为“数据驱动”。数据驱动设计方法的中心是利用数据模型有效的识别原有的数据库中的数据和DW中主题的数据。2)DW使用的需求不能在开发初期完全明确在数据仓库环境中,并不存在固定的且较确切的物流、数据流、和信息流,数据分析处理的需求更加灵活,更没有
5、固定的模式,甚至用户自己也对所要进行的分析处理不能事先全部确定3)数据仓库的开发是一个不断循环的过程,是启发式的开发一方面DW的数据内容、结构、力度、分割以及其他物理设计应该根据用户所返回的信息不断的调整和完善,以提高系统的效率和性能;另一方面,通过不断理解用户的分析需求,不断的调整和完善,以求向用户提供更准确、更有效的决策信息。,思考,数据仓库的开发过程与数据库的开发过程有什么不同?为什么?,4.2 数据模型的设计,4.2 数据模型的设计,概念模型1)设计方法2)注意事项3)E-R图逻辑模型1)星形模型2)雪花模型3)星座模型4)维表的设计物理模型维度的设计,1.概念模型设计,1)设计方法在
6、建模之前定义数据模型的边界,然后建立企业内不同群体的实体-联系模型,最后进行集成企业的总体概念模型。,1.概念模型设计,2)注意事项(1)在DW的数据模型中不包含操作性数据,只包含用户感兴趣的分析数据、描述数据和细节数据。例:在商品销售分析DW模型中,商品的销售数量、金额、企业利润等是分析数据;销售的时间、地点等使用户感兴趣的描述数据;销售产品的详细情况、购买商品的客户详细情况等是细节数据。(2)数据的历史变迁性。DW的数据模型增加时间属性作为码的一部分(3)数据的概括性。DW的数据模型中增加了一些衍生数据,专门用于分析的DW系统需要一些概括性的数据,这些数据在业务处理系统的数据模型中是不需要的。例:在销售管理的业务系统中的数据模型中,通常只需要记录当前细数据,而在数据仓库的数据模型中,需要保存一些统计、累加而来的综合数据。,1.概念模型设计,3)E-R图的描述方法(1)矩形。矩形表示实体,在数据仓库中表示主题,在矩形框内写上主题名。(2)椭圆形。椭圆形表示主题的属性,并用无向边把主题与其属性连接起来。(3)菱形。菱形表示主题之间的联系,菱形框内写上联系的名字。用无向边把菱形分别与有关