您好,欢迎访问三七文档
数据仓库和决策支持系统主讲:鲁明羽大连海事大学计算机科学与技术学院研究方向:智能数据分析与数据挖掘电话:13889576531Email:lumingyu@tsinghua.org.cn第五章数据仓库工程目录5.1数据仓库工程概述5.2数据仓库开发模型5.3数据仓库的规划5.4数据仓库的概念模型设计5.5数据仓库的逻辑模型设计5.6数据仓库的物理模型设计5.7数据仓库的实施5.8数据仓库的应用、支持和增强练习数据仓库的开发应用像其它软件系统一样,具有其特有的、完整的生命周期。数据仓库的开发应用周期可以分成三个阶段:规划分析阶段设计实施阶段使用维护阶段这三个阶段是一个不断循环、完善和提高的过程。一般情况下,数据仓库系统不可能在一个循环过程中完成,而须经过多次循环开发。每次循环都会为系统增加新的功能,使数据仓库的应用得到完善和提高。5.1数据仓库工程概述数据仓库的螺旋式开发方法设计体系结构开发概念模型开发逻辑模型数据库与元数据设计数据抽取转换与加载开发中间件填充与测试数据仓库数据仓库应用数据仓库维护数据仓库评价规划与确定需求规划分析阶段数据仓库开发过程设计实施使用维护阶段阶段5.2数据仓库的开发模型在创建数据仓库时,需要使用各种数据模型对数据仓库进行描述。数据仓库的开发人员依据这些数据模型,才能开发出一个满足用户需求的数据仓库,使开发人员能够将注意力集中在数据仓库开发的主要部分。模型有更好的适应性,更易于修改。当用户的需求改变时,仅对模型做出相应的变化就能反映这个改变。5.2.1模型与模型转换模型是对现实世界进行抽象的工具。在信息管理中,需要将现实世界的事物及其有关特征转换为信息世界的数据,才能对信息进行处理与管理,这就需要依靠数据模型作为这种转换的桥梁。这种转换一般需要经历从现实世界到概念模型、从概念模型到逻辑模型、从逻辑模型到物理模型的转换过程。数据库客户与产品表文件客户记录张三列(字段、数据项)属性特性职业计算机世界逻辑世界概念世界现实世界同质总体实体个体整体间联系异质总体整体数据仓库的设计就是在概念模型、逻辑模型和物理模型的依次转换过程中实现的。作为数据仓库的灵魂——元数据模型则自始至终伴随着数据仓库的开发、实施与使用。数据粒度和聚集模型也在数据仓库的创建中发挥着指导的作用,指导着数据仓库的具体实现。现实世界概念模型逻辑模型物理模型数据仓库元数据模型数据粒度和聚集模型5.2.2数据仓库的概念模型概念数据模型---可采用E-R图财务部门•销售收入账•应收账•应付账•成本账销售部门•销售计划•销售合同•销售统计人事部门•员工业绩记录•员工技能情况•员工薪酬表企业数据模型销售部门人事部门财务部门……………图5.3企业数据模型数据仓库的概念数据模型的特点不包含操作型的数据,只包含用户所感兴趣的分析数据、描述数据和细节数据。扩充了关键字结构,增加了时间属性作为关键字的一部分。还增加了一些由基本数据所导出的衍生数据。这些导出的衍生数据主要用于对企业的管理决策进行分析。指标实体(事实实体)指标实体名维度实体名详细类别实体名维度实体详细类别实体(引用实体)E-R图中实体的细分数据模型的规范与反规范第一范式、第二范式、第三范式数据仓库的反规范化处理---尽量减少表连接操作数据仓库的数据普通数据库系统的数据长期的框架静态数据通常是汇总的特殊查询访问定期更新数据驱动短期的框架快速变化记录级的访问标准查询访问实时更新事件驱动星型模型星型模型是最常用的数据仓库设计结构的实现模式。它使数据仓库形成了一个集成系统,为用户提供分析服务对象。事实表维表维表维表维表维表核心是事实表,围绕事实表的是维(度)表。通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表。利用目前成熟的关系数据库系统,同样也可以建立数据仓库。这样做成本低,实现快,但数据仓库的效率远不如多维数据库形式。在这种情况下,主要是利用星型模式(STARSCHEME)来组织数据。时间维表事实表产品维表地区维表数据仓库的星型模型(关系数据库形式)TIME-IDPRODUCT-IDCITY-IDSALES...TIME-IDTIME...PRODUCT-IDPNAMETYPECOLOR...CITY-IDCNAMEPOPULATION...雪花模型雪花模型是对星型模型的扩展,每一个维度都可以向外连接到多个详细类别表。雪花模型对星型模型的维度表进一步标准化,对星型模型中的维度表进行了规范化处理。事实表维表维表维表维表维表详细类别表详细类别表经济(年收入)100万以上10万以上1万以上地点国家省市销售销售ID销售数量销售价格销售金额时间ID地点ID商品ID年龄60岁以上40岁以上30岁以上20岁以上20岁以下日期年月日商品ID种类小类商品信用10万元以上1万元以上1千元以上1千元以下0元商品ID生产厂家进货价格进货日期客户客户ID姓名地址电话邮政编码雪花模型根据需要设计模型5.2.3数据仓库的逻辑模型数据仓库的逻辑模型是对数据仓库概念模型的细化描述。概念模型中的每个实体对应一个逻辑模型。逻辑模型中有四种基本结构:•基本数据组:描述相对固定的信息•二级数据组:描述可以变化的信息•连接数据组:是一个主题域的公共码主键,连接主题域•类型数据组:描述数据的类型,分为超类型和子类型逻辑模型设计的重点:保证数据仓库结构的完整性,即数据仓库所有的数据元素都包含在模型中。5.2.3数据仓库的逻辑模型贷款担保账号姓名客户类型初次交易时间账号省市县街道邮政编码账号现金交易额信用交易额账号商品编号时间交易量账号最大信用额最近发生时间账号担保人担保类型贷款时间账号服务种类时间服务费用贵宾卡颜色信用交易客户编号交易记录信用状况商品交易服务交易签字现金交易账号交易额信用额信用时间信用卡客户信息5.2.4数据仓库的物理模型对数据仓库的逻辑模型进行扩展,生成一系列事实表和维表确定模型的码键属性调整表结构建立各种索引建立聚集模型确定数据仓库物理模型的存储结构事实表模型设计事实表中的事实特性:事实表是星型模型和雪花模型的核心。事实表中一般包含两部分:一是由主键和外键所组成的键部分;二是用户希望在数据仓库中所了解的数值指标,需具有数值性和可加性的特征。派生事实主要有两种:一是可以用同一事实表中其他事实计算得到,还有一类派生事实是非加法性事实。事实表模型设计1.事实表(1)客户事实表客户基本情况表(账号Integer9,姓名Character12,出生地Character20,初次交易时间Date,…)客户可变情况表(账号Integer9,省Character20,市Character20,街道Character20,邮政编码Character6,…)事实表模型设计1.事实表(2)客户贷款事实表客户房屋贷款表(账号Integer9,地址Character50,委托人Character12,评估Memo,…)客户汽车贷款表(账号Integer9,时间Date,制造商Character40,型号Character10,颜色Character8,…)事实表模型设计1.事实表(3)客户存款事实表客户存款表1(账号Integer9,时间Date,最小存款数Number7.2,最小余额Number7.2,…)客户存款表2(账号Integer9,时间Date,最小存款数Number7.2,最小余额Number7.2,…)(4)客户担保事实表客户担保表(账号Integer9,时间Date,担保人Character12,种类Character2,担保金额Number10.2,…)维模型设计维是用户观察、分析数据的角度和窗口,因此维度表应该包含商业项目的文字描述,提供维度属性的定义。维度表中的属性一般为该维中的不同粒度值或分类值。客户主题的维度表模型:时间维度表(年Date,月Date,日Date)地点维度表(省Character20,市Character20,县Character20,街道Character20)贷款维(抵押贷款Character20,非抵押贷款Character20)由于有OLAP的要求,数据仓库中数据的物理存储形式应该是基于多维数据模型(所以在逻辑上数据仓库就是一个多维数据库),在实现中一般有两种途径:基于多维数据库的空间超立方体,又称数据立方体(DATACUBE)基于关系数据库的星型模式(由关系型事实表和维表组成)三种变型:多层分维结构,事实表族,雪花模式维1维2维3度量(指标)1990TV上海5001990TV北京6001991VCD上海6001991VCD北京700………………………………………数据仓库的多维结构数据仓库的结构90TV上海数据仓库物理模型的索引构建位图索引女性索引客户性别客户所在地上海市索引北京市索引0男北京市011女江苏省001女北京市010男山东省001女北京市010男上海市100男江苏省001女上海市101女北京市010男浙江省001女广东省00上海市索引OR北京市索引=地区索引AND女性索引=最后索引0110000010011110000001111101000000010111011110000000010查询索引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数据仓库物理模型的存储结构确定数据的存储结构并行存储结构——RAID(RedundantArrayofInexpensiveDisk,廉价冗余磁盘阵列)。·RAID·RAID1级·RAID2级·RAID3级·RAID4级·RAID5级数据仓库物理模型的优化问题1.合并表:几个表的记录分散存放在几个物理块中时,多个表的存取和连接操作的代价会很大,需要混合存储。2.建立数据序列:按照某一固定的顺序访问并处理一组数据记录,将数据按照处理顺序存放到连续的物理块中,形成数据序列。3.引入冗余:一些表的某些属性可能在许多地方都要用到,将这些属性复制到多个主题中,可以减少处理时存取、连接表的个数。数据仓库物理模型的优化问题4.表的物理分割:每个主题中的各个属性存取频率是不同的。将一张表按各属性被存取的频率分成两个或多个表,将具有相似访问频率的数据组织在一起。5.生成派出数据:在原始数据的基础上进行总结或计算,生成派出数据,可以在应用中直接使用这些派出数据,减少I/O次数,免去计算或汇总步骤,在更高级别上建立了公用数据源,避免了不同用户重复计算可能产生的偏差。5.2.5数据仓库的元数据模型元数据是关于数据的数据。在数据仓库中,元数据定义了数据仓库中的许多对象——表、列、查询、商业规则或是数据仓库内部的数据转移,描述了数据的结构、内容、键、索引等项内容,非常重要。元数据可分为静态元数据和动态元数据。静态元数据主要描述数据结构,动态元数据主要描述数据的状态和使用方法。5.2.5数据仓库的元数据模型元数据静态元数据名称描述格式数据类型关系生成时间来源索引类别域业务规则元数据的类型与组成元数据动态元数据入库时间更新周期数据质量统计信息状态处理存储位置存储大小引用处元数据在数据仓库中的作用在数据仓库中,元数据是重要构件和指示图(roadmap)。1.数据仓库元数据的作用•提供便利的数据仓库服务与DSS分析员及高层决策人员服务•解决操作型环境和数据仓库的复杂关系•数据仓库中数据的管理元数据在数据仓库中的作用2.元数据在数据仓库开发期间的使用确认数据质量、同步化和刷新、映射3.元数据在数据源抽取中的作用资源
本文标题:第5章数据仓库工程
链接地址:https://www.777doc.com/doc-28020 .html