您好,欢迎访问三七文档
第二章数据仓库开发模型在创建数据仓库之时,需要使用各种数据模型对数据仓库进行描述。数据仓库的开发人员依据这些数据模型,才能开发出一个满足用户需求的数据仓库。使开发人员能够将注意力集中在数据仓库开发的主要部分。模型有更好的适应性,更易于修改。当用户的需求改变时,仅对模型做出相应的变化就能反映这个改变。2.1数据仓库开发模型2.2数据仓库概念模型2.3数据仓库逻辑模型2.4数据仓库的物理模型2.5数据仓库的元数据模型2.6数据仓库的粒度和聚集模型目录2.1数据仓库开发模型模型是对现实世界进行抽象的工具。在信息管理中需要将现实世界的事物及其有关特征转换为信息世界的数据才能对信息进行处理与管理,这就需要依靠数据模型作为这种转换的桥梁。这种转换一般需要经历从现实到概念模型,从概念模型到逻辑模型,从逻辑模型到物理模型的转换过程。概念模型逻辑模型物理模型数据仓库的开发过程概念模型逻辑模型物理模型现实世界第一级抽象第二级抽象第三级抽象现实世界概念世界逻辑世界计算机世界信用特性属性列(字段、数据项)张三个体实体记录客户整体同质总体表文件客户与产品整体间联系异质总体数据库四个世界三级抽象数据仓库的设计就是在概念模型、逻辑模型和物理模型的依次转换过程中实现的。作为数据仓库的灵魂——元数据模型则自始至终伴随着数据仓库的开发、实施与使用。数据粒度和聚集模型也在数据仓库的创建中发挥着指导的作用,指导着数据仓库的具体实现。现实世界概念模型逻辑模型物理模型数据仓库元数据模型数据粒度和聚集模型数据仓库的数据模型2.2数据仓库概念模型财务部门销售收入账应收账应付账成本账销售部门销售计划销售合同销售统计人事部门员工业绩记录员工技能情况员工薪酬表企业数据模型销售部门人事部门财务部门……………企业数据模型2.2.1概念数据模型数据仓库概念模型的设计可以使用业务数据处理系统中的E-R图,但两者有一些差距。数据仓库的数据模型中不包含操作型的数据,数据仓库的数据模型只包含用户所感兴趣的分析数据、描述数据和细节数据。数据仓库的数据模型扩充了关键字结构,增加了时间属性作为关键字的一部分。数据仓库的数据模型中还增加了一些由基本数据所导出的衍生数据,这些导出的衍生数据主要用于对企业的管理决策进行分析。2.2.1概念数据模型2.2.1概念数据模型数据传统的E-R图不能直接用于数据仓库的概念模型的设计,只能对其中的元素作修改后使用。将实体分成:指标实体(事实实体)、维度实体和详细类别实体(引用实体)。指标实体(事实实体)指标实体名维度实体名详细类别实体名维度实体详细类别实体(引用实体)指标实体:现实世界中的业务处理或某一事件的逻辑表示。是数据仓库中的实体表。对指标实体数据的管理是数据仓库管理的重点。维度实体:可以形成一个维度体系,具备访问和过滤指标实体的能力。是数据仓库中的较小的表。详细类别实体:与现实世界中的某一个实体相对应。它具有终止操作的作用。用户通过维度实体得到指标实体数据,而在操作到详细类别实体时停止操作。数据仓库的数据普通数据库系统的数据长期的框架静态数据通常是汇总的特殊查询访问定期更新数据驱动短期的框架快速变化记录级的访问标准查询访问实时更新事件驱动2.2.2规范的数据模型第一范式、第二范式、第三范式数据仓库的反规范化处理,将小表合并,以减少多表查询时的表的连接操作。2.2.2规范的数据模型数据仓库中的各个实体不是对等的,在建立实体时,需要根据载入数据实体的数据量来考虑数据仓库中数据的结构设计。2.2.3星型模型事实表维度表维度表维度表维度表维度表星型模型是最常用的数据仓库设计结构的实现模式。使数据仓库形成了一个集成系统,为用户提供分析服务对象。核心是事实表,围绕事实表的是维度表。通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表。2.2.3星型模型事实表:包含主题。维度表:包含事实的非正规化描述。星型模型可以采用关系型数据库结构。维度表中的对象通过事实表与另一维度表中的对象相关。通过事实表将多个维度表进行关联,就能建立各个维度表对象之间的联系。每一个维度表通过一个主键与事实表进行连接。维度表利用维度关键字通过事实表中的外键约束于事实表中的某一行。事实表中的外键不得为空。2.2.4雪花模型事实表维度表维度表维度表维度表维度表详细类别表详细类别表星雪花模型是对星型模型的扩展,每一个维度都可以向外连接到多个详细类别表。雪花模型对星型模型的维度表进一步标准化,对星型模型中的维度表进行了规范化处理。2.3数据仓库逻辑模型逻辑模型亦称为中间层数据模型,它是对高层概念模型的细分,在高层模型中所标识的每个主题域或指标实体都需要与一个逻辑模型相对应。中层逻辑模型高层逻辑模型中层逻辑模型高层概念模型与中层逻辑模型的对应关系逻辑模型的基本结构基本数据组二级数据组联接数据组超类型子类型类型数据组基本数据组:存有唯一的主要主题域,包含只出现一次属性和键。二级数据组:存有可以存在多次的属性。联接数据组:用于本组主要主题域与其他主要主题域之间的联系。它往往是一个主题的公共码主键。类型数据组:数据的类型。由不同数据组组成。一般可以分为超类型数据组合子类型数据组。除联接数据组外的三种数据组的划分都基于数据的不同稳定性。基本数据组的稳定性大于二级数据组,而二级数据组的稳定性大于类型数据组。信息反馈贵宾卡账号姓名客户类型初次交易时间账号省市县街道邮政编码账号现金交易额信用交易额账号商品编号时间交易量账号最大信用额最近信用发生时间账号记录人反馈类型反馈时间账号服务种类时间服务费用信用交易客户编号交易记录信用状况商品交易服务交易签字现金交易账号交易额信用额信用时间某超市企业用户的逻辑模型2.3.1事实表模型设计事实表:包含数据仓库中的大量的基本业务详细信息。客户事实表客户基本情况表(账号Integer9,姓名Character12,出生地Character20,初次交易时间Date,……)客户变动情况表(账号Integer9,省Character20,县Character20,街道Character20,邮政编码Character6,……)事实表中的事实特性事实表中一般包含两部分,一是由主键和外键所组成的键部分,另一是用户希望在数据仓库中所了解的数值指标,称为事实或指标。事实表中的事实有两种:基本事实和派生事实。派生事实主要有两种,一是可以用同一事实表中其他事实计算得到,一般不保留在事实表中;还有一类派生事实是非加法性事实,一般要将它转移到维度表中。2.3.2维模型设计事实设计维度表的目的:把参考事实表的数据放置在一个单独的表中。最常用的维度表数据应该直接参考事实表,而不是通过其他维度表间接参考事实表。客户主题维度表模型:时间维度表(年Date,月Date,日Date)地点维度表(省Character20,市Character20,县Character20,街道Character20)2.4数据仓库的物理模型2.4.1数据仓库物理模型的存储结构确定数据的存储结构并行存储结构——RAID(RedundantArrayofInexpensiveDisk,廉价冗余磁盘阵列)。主要采用以下技术:磁盘镜像磁盘复制奇偶校验磁盘分段RAID实现原理:将数据写入多张磁盘中,如果一张磁盘发生故障,可以从其他存放冗余数据的磁盘上访问数据。1.位图索引:索引中的每个位对应表中一条记录的布尔测试值。女性索引客户性别客户所在地上海市索引北京市索引0男北京市011女江苏省001女北京市010男山东省001女北京市010男上海市100男江苏省001女上海市101女北京市010男浙江省001女广东省002.4.2数据仓库物理模型的索引构建1.位图索引:索引中的每个位对应表中一条记录的布尔测试值。2.4.2数据仓库物理模型的索引构建确定某些统计可以通过索引进行,而不需读取数据记录本身。如统计女性客户数。检索满足某种条件记录时,可以通过索引筛选出满足条件的记录,再读取相应的数据记录,而不需读取不满足条件的记录。对于值域大于2的列,需要为每个值建索引。若上海市索引及北京市索引。一般考虑基数较低的列为其建位图索引。有些列是无法建位图索引的。如身份证列。可以对位图索引使用布尔运算,来实现更为复杂的选择条件。上海市索引OR北京市索引=地区索引AND女性索引=最后索引01100000100111100000011111010000000101110111100000000102.4.2数据仓库物理模型的索引构建2.4.2数据仓库物理模型的索引构建2.广义索引广义索引是指在向数据仓库中装载数据时,根据用户的需要建立的索引。广义索引的内容一般包含用户最关心、最常使用的问题。如有关销售事实的商品总量、销售总金额等。每次向数据仓库装载数据时,就重新生成广义索引的内容。广义索引一般以元数据方式存放。2.4.2数据仓库物理模型的索引构建3.连接索引连接索引是将事实表和维表中的索引项进行连接运算后,将结果作为索引保留下来。当需要将事实表和维表进行连接运算时,可以直接利用连接索引进行连接运算。连接索引可以根据需要设立,不一定对全部外键设立。连接索引Aagelevel_idtime_idyear_idmonth_idgeo_idprov_idcity_idcounty_idprodu_idagelevel_idtime_idgeo_idprodu_idamou_moneagelevel_idtime_idyear_idmonth_idgeo_idprov_idcity_idcounty_idprodu_idamou_moneagelevel_idtime_idgeo_idprodu_id全连接结果time_idgeo_id连接索引B连接索引图2.4.2数据仓库物理模型的索引构建4.索引的选择主键必须建立索引。不要求必须对外键设置连接索引,但如果表很大,数据很多,外键应该设置连接索引。在对数据仓库使用SQL语句操作时,WHERE字句中所指定的列可以考虑为其建立索引。但要考虑其基数。2.4.3数据仓库物理模型的优化问题物理模型设计的另一个内容:提高数据仓库的I/O性能。合并表:当对涉及几个表的某些列的查询具有固定性时,可以将这些表的记录合并起来以减少连接操作的代价。建立数据序列:当按照某一固定的顺序访问并处理一组数据记录时,可以将数据按照处理顺序存放到连续的物理块中,形成数据序列。引入冗余:一些表的某些属性可能在许多地方都要用到,将这些属性复制到多个主题中,可以减少处理时存取表的个数。表的物理分割:每个主题中的各个属性存取频率是不同的。将一张表按各属性被存取的频率分成两个或多个表,将具有相似访问频率的数据组织在一起。生成派出数据:在原始数据的基础上进行总结或计算,生成派出数据,可以在应用中直接使用这些派出数据,减少I/O次数,免去计算或汇总步骤,在更高级别上建立了公用数据源,避免了不同用户重复计算可能产生的偏差。2.5数据仓库的元数据模型2.5.1元数据的类型与组成元数据是数据的数据,是对数据仓库中的各种数据的详细的描述与说明。根据元数据在数据仓库中所承担的任务,可以将元数据分成静态元数据和动态元数据两类。静态元数据主要与数据结构有关;动态元数据主要与数据的状态和使用方法有关。2.5.1元数据的类型与组成元数据静态元数据名称描述格式数据类型关系生成时间来源索引类别域业务规则元数据动态元数据入库时间更新周期数据质量统计信息状态处理存储位置存储大小引用处2.5.2元数据在数据仓库中的作用元数据描述了数据的结构、内容、键、索引等项内容。在数据仓库中,元数据定义了数据仓库中的许多对象—表、列、查询、商业规则或是数据仓库内部的数据转移。它是数据仓库的重要构件,是数据仓库的指示图(roadmap),指出了数据仓库中各种信息的位置和含义。2.5.2元数据在数据仓库中的作用数据仓库的元数据重
本文标题:数据仓库开发模型
链接地址:https://www.777doc.com/doc-4960125 .html