《数据仓库的设计与开发(PPT54页)》由会员分享,可在线阅读,更多相关《数据仓库的设计与开发(PPT54页)(56页珍藏版)》请在金锄头文库上搜索。
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.概念模型1)设计方法)设计方法2)注意事项)注意事项3)E-R图图2.逻辑模型1)星形模型)星形模型2)雪花模型)雪花模型3)星座模型)星座模型4)维表的设计)维表的设计3.物理模型4.维度的设计1.概念模型设计1)
6、设计方法在建模之前定义数据模型的边界,然后建立企业内不同群体的实体-联系模型,最后进行集成企业的总体概念模型。1.概念模型设计2)注意事项(1)在DW的数据模型中不包含操作性数据,只包含用户感兴趣的分析数据、描述数据和细节数据。 例:例:在商品销售分析DW模型中,商品的销售数量、金额、企业利润等是分析数据;销售的时间、地点等使用户感兴趣的描述数据;销售产品的详细情况、购买商品的客户详细情况等是细节数据。(2)数据的历史变迁性。DW的数据模型增加时间属性作为码的一部分(3)数据的概括性。DW的数据模型中增加了一些衍生数据,专门用于分析的DW系统需要一些概括性的数据,这些数据在业务处理系统的数据模
7、型中是不需要的。例:例:在销售管理的业务系统中的数据模型中,通常只需要记录当前细数据,而在数据仓库的数据模型中,需要保存一些统计、累加而来的综合数据。1.概念模型设计3)E-R图的描述方法(1)矩形。矩形表示实体,在数据仓库中表示主题,在矩形框内写上主题名。(2)椭圆形。椭圆形表示主题的属性,并用无向边把主题与其属性连接起来。(3)菱形。菱形表示主题之间的联系,菱形框内写上联系的名字。用无向边把菱形分别与有关的主题连接,在无向边旁标上联系的类型。若主题之间的联系也具有属性,则把属性和菱形也用无向边连接上。概念模型设计某商场的商品、顾客和供应商之间的概念模型的E-R图2.逻辑模型设计关系数据库一
8、般采用二维数据表的形式来表示数据,一个维是行,另一个维是列,行和列的交叉处就是数据元素。关系数据的基础是关系数据库模型,通过标准的SQL语言来加以实现。数据仓库是多维数据库,它扩展了关系数据库模型,以星形架构为主要结构方式的,并在它的基础上,扩展出理论雪花形架构和数据星座等方式,但不管是哪一种架构,维度表、事实表和事实表中的量度都是必不可少的组成要素。1)星形模型星形模型是最常用的数据仓库设计结构的实现模式。星形模式通过使用一个包含主题的事实表和多个维度表来支持各种决策查询。星形模型可以采用关系型数据库结构,模型的核心是事实表,围绕事实表的是维度表。通过事实表将各种不同的维度表连接起来,各个维
9、度表都连接到中央事实表。每一个维度表通过一个主键与事实表进行连接。逻辑模型设计星形模型逻辑模型设计星形模型事实表主要包含了描述特定商业事件的数据,即某些特定商业事件的度量值。一般情况下,事实表中的数据不允许修改,新的数据只是简单地添加进事实表中,维度表主要包含了存储在事实表中数据的特征数据。每一个维度表利用维度关键字通过事实表中的外键约束于事实表中的某一行要求事实表中的外键不能为空,这与一般数据库中外键允许为空是不同的。逻辑模型设计星形模型逻辑模型与实体-关系建模之间的关系实体-联系图是代表企业中每一个可能的业务过程,一个实体-联系图可以拆分成多个维表、事实表构成的逻辑模型。将E-R图转换成维
10、度建模时的步骤是:(1)将E-R图分成独立的业务处理,然后对每个业务处理单独建模。(2)在E-R图中,对包含数字型事实,将他们设计成各个事实表。(3)将剩下的实体进行非规范化处理,设计成维表。星形模型基本设计技术(1)正确区分事实、属性和维度。维度模型需要对事实和属性进行区分,业务层的很多事实都是数值型的,特别是该数值是浮点数时,他很可能是一个事实,而不是属性。例如“标准价格”,好像是产品维度的一个属性,似乎是事先一致的常量,但每年对标准价格进行一、两次调整,因此应该设计成事实。属性通常指文本字段,例如产品描述。维度是类似于文本形式的属性组合,固定的数值型属性应放在维表中。例如,零售数据仓库中
11、,至少应有一个产品维度,一个商店维度,一个客户维,一个时间维,一个促销维。星形模型基本设计技术(2)事实表的设计方法。事实表是数据仓库中最大的表,在设计时,一定注意使事实表尽可能的小,因为过大的事实表在表的处理、备份和恢复、用户查询等方面要用较长的时间。具体方法主要有:减少列的数量;降低每列的大小;把历史数据存档;例如,零售营销事实表设计如下:星形模型基本设计技术(3)维表的设计。维表的属性必须具有以下特征:可用文字描述;离散值;有规定的约束;在分析时可提供行标题。时间维在数据仓库中占有特定位置,建议使用时间维度。例:例:零售业营销分析的星型模型图。星形模型基本设计技术零售业营销分析的星型模型
12、图2)雪花模型雪花模型是对星形模型的扩展,每一个维度都可以向外连接多个详细类别表。在这种模式中,维度表除了具有星形模型中维度表的功能外,还连接对事实表进行详细描述的详细类别表,详细类别表通过对事实表在有关维上的详细描述达到了缩小事实表和提高查询效率的目的。逻辑模型设计雪花模型雪花模型架构示意图逻辑模型设计雪花模型在该模型中,将地理层次国家、区域和分区域嵌入到销售员维度,这样,公司的管理者想按照国家、区域、分区域和分区域内的销售员的层次关系来查看公司的销售情况。销售数据仓库逻辑模型(雪花型)3)星座模型一个复杂的商业智能应用往往会在数据仓库中存放多个事实表,这时就会出现多个事实表共享某一个或多个
13、维表的情况,这就是事实星座,也称为星系模型(galaxyschema)。数据仓库由于是企业范围的,能对多个相关的主题建模,所以在设计其数据构成时一般采用星系模式。而数据集市是部门级的,具有选定的主题,可以采用星形或雪花模型。4)维度的设计维是人们观察客观世界的角度,是一种高层次的类型划分。如:对客户、产品、服务、提供商、地点、渠道和事件发生的时间维表是由维主键和维属性组成的一般情况下,在每次抽样时,如果数值数据字段的度量都改变,那么它就是事实,如果它是某种东西的离散值描述,并几乎保持为常数,那么它就是维属性。例如,商品的价格是维表的属性,销售量是事实。维表举例时间维度及其层次关系财务时间维度维
14、表举例地理维度层次机构维度层次维表举例客户维度分类3.物理模型设计数据仓库的物理数据模型就是逻辑数据模型在数据仓库中的实现,如:物理存取方式数据存储结构数据存放位置以及存储分配等物理数据模型设计实现时,所考虑的主要因素有:IO存取时间空间利用率和维护代价物理模型设计设计存储结构在物理设计时,常常要按数据的重要性、使用频率及对反应时间的要求进行分类,并将不同类型的数据分别存储在不同的存储设备中。重要性高、经常存取并对反应时间要求高的数据存放在高速存储设备上;存取频率低或对存取响应时间要求低的数据则可以存放在低速存储设备上。4.3数据仓库的粒度设计数据仓库的性能和存储空间是一对矛盾。如果粒度设计得
15、很小,则事实表将不得不记录所有的细节,储存数据所需要的空间将会急剧的膨胀;若设计的粒度很大,决策者不能观察细节数据。粒度设计的三个步骤粗略估计确定双重还是单一粒度确定粒度的级别4.4创建数据仓库的基本步骤(1)收集运营环境文档。(2)选择数据仓库的实现技术。(3)设计数据仓库模型。(4)创建数据准备区。(5)创建数据仓库数据库。(6)从操作型系统中抽取数据。(7)清理和转换数据。(8)将数据载入数据仓库数据库。(9)准备显示数据。(10)将数据分发到数据集市。建立运营环境文档建立运营环境的第一步是识别所有业务系统确定每个系统中存储什么样的数据选择数据仓库的实现技术(1)数据仓库的操作系统。(2
16、)数据仓库的数据库。(3)数据仓库模型工具。(4)数据仓库开发工具。(5)数据仓库监视工具。(6)提取和清除工具。(7)报告工具。(8)OLAP服务器。(8)数据挖掘工具选择数据仓库的实现技术下面是选择供应商需要注意的问题。(1)选择“最好的”产品并不总是正确的解决方案。(2)选择与行业标准相近的产品。花费时间来评估几个供应商的不同软件包是一件非常迫切需要的工作。设计数据仓库模型关系模型是当前最流行数据模型最流行的数据仓库模型是星型模型。创建数据准备区为支持数据抽取、清理和转换操作以便准备数据装入数据仓库,需要创建表和其他数据库对象。可以为数据准备区创建单独的数据库,或者可以在数据仓库数据库中
17、创建这些项目。数据准备区应包括包含传入数据的表、帮助实现代理键的表以及容纳转换数据的表。数据准备区的特定设计取决于数据源的多样性、组织数据,以使在装入数据仓库时所需的转换程度以及传入数据的一致性。创建数据仓库数据库创建事实数据表和维度表,并在所有表中的主要字段上建立索引。星型架构由单个事实数据表和一些维度表组成。雪花型架构增加了次要维度表。从操作型系统中抽取数据抽取数据简单抽取复杂抽取识别数据中的错误和不一致问题。清理和转换数据从源系统抽取后,数据应驻留在数据准备区,在这里可以在数据装入数据仓库前完成清理和转换。可以执行一些过程来验证数据的一致性,将数据转换成常用格式以及合并代理键。可能需要执
18、行手工操作协调数据的不一致或解决二义性文本字段输入项将数据装入数据仓库数据库在数据被清洗、转换之后,就可将数据加载到合适的数据仓库事实表中。在数据加载后,还要更新元数据仓库中的元数据,以反映刚完成的数据加载活动,并且对受影响的概括数据重新概括处理。教学要求知识要点能力要求相关知识点数据仓库的开发过程与方法(1)掌握数据仓库的开发过程(2)掌握数据仓库设计的内容与步骤(1)数据仓库开发的3个阶段(2)数据驱动的设计(3)数据模型设计的重点数据模型设计(1)掌握概念模型的设计(2)掌握逻辑模型的设计(3)掌握物理模型的设计(4)掌握粒度的设计原则(1)面向主题的E-R模型(2)星型模型和雪花模型(3)事实表与维表(4)粒度数据仓库的构建掌握数据仓库构建的步骤(1)运行环境(2)实现技术(3)ETL(4)数据仓库的维护总结数据仓库的设计始于数据模型。在概念模型设计中,E-R模型中的实体用主题取代;逻辑模型设计中,依然使用关系模型,但数据以星型结构或雪花结构按主题组织。由于数据仓库的需求是不可预先知道的,因此,数据仓库以反复开发的方式建立。数据仓库开发者面临的基本问题是管理大量数据。为此,数据的粒度和分割是数据仓库设计的两个重要问题。然而,也存在许多其他物理设计的问题,其中,大多数都与数据访问的效率有关。作业阅读“阅读资料”和“案例分析”思考练习题演讲完毕,谢谢观看!