第3章数据仓库设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章数据仓库设计3.l数据仓库中数据模型概述3.1.1数据模型的概念GraceFemaleStudentsStudents&Courses个体特性整体整体间联系概念世界实体属性同质总体异质总体计算机世界记录字段表文件数据库图3-1现实世界到计算机世界的演化过程现实世界逻辑世界图3-2数据模型关系现实世界概念模型逻辑模型物理模型数据仓库粒度模型元数据模型3.1.2数据仓库模型构建的原则1.满足不同用户的需求2.兼顾效率与数据粒度的需要3.支持需求的变化4.避免对业务运营系统造成影响5.考虑未来的可扩展性3.1.3企业数据模型图3-3分层数据模型目标、结构业务数据分类概念数据模型逻辑应用视图物理数据库设计抽象具体总体分步3.2概念模型设计3.2.l企业模型的建立1.E-R模型的概念模型设计过程图3-4E-R模型的概念模型设计过程任务和环境评估需求的收集分析主题选取,确定主题间关系容描述主题内E-R图对主题的选择进行调整2.E-R模型设计中的一些说明(1)模糊性:无法表述数据仓库中各数据间的关系,比如:分析数据,描述数据和细节数据间的关系;(2)静态性:时间参数的存在及作用无法体现;(3)局限性:无法揭示数据仓库中数据的导出关系。为了规避这些不足,在E-R图法中,实体被分为事实实体(FactEntity),维度实体(DimensionEntity),引用实体(QuotationEntity),用图3-5中的图形分别表示:事实实体维度实体引用实体图3-5E-R图中各实体符号3.2.2数据模型的规范表3-1数据仓库数据与普通数据库系统数据的对比数据仓库的数据普通数据库系统的数据长期框架短期框架静态快速变化(动态)数据一般是汇总的记录级的访问特殊查询访问标准查询访问定期更新实时更新数据驱动时间驱动3.2.3常见的概念模型1.星形模型事实表维度表维度表维度表维度表维度表维度表图3-8星形模型结构示意图2.雪花模型详细类别表事实表维度表维度表维度表维度表维度表维度表详细类别表图3-10雪花模型示例3.事实星座模型这种模型用于更为复杂的情况。它的中心不只一个中心,而是由多个中心组成,即存在多个事实表,而每个事实表拥有自己的一组维度表,这些维度表又有可能共享一个事实表,形成一个交叉,复杂的关系网络。但是这种模型在实践中运用较少。3.3逻辑模型设计中间层逻辑模型中间层逻辑模型中间层逻辑模型中间层逻辑模型中间层逻辑模型图3-11高层概念模型与逻辑模型的关系超类型子类型初始数据组连接数据组二次数据组类型数据组图3-12逻辑模型中四种基本结构3.3.l概念模型到逻辑数据模型的转换下面我们以这个例子为基础来介绍一下概念模型是如何向星形模型转化的。首先,我们了解一下星形模型的设计步骤:1.确定决策需求分析2.从需求中识别出事实3.确定维4.确定数据汇总的水平5.设计事实表和维度表6.检验设计方案的有效性(DBMS和分析用户工具)7.设计方案随需求变化而改动3.3.2数据表的规范化与分割前面我们已经介绍过了什么是依赖,下面把数据表规范化过程简单归纳如下:除去函数依赖的数据表中的无关的列;移动可以由某些函数依赖推导出的函数依赖;按相同的决定因素重排函数依赖;对每个函数依赖组,用决定因素作为主关键字造表;合并包含其他表的所有列:选择其中一个独立表的主关键字作为合并后表的主关键字;给不作为新表的主关键字的其他主关键字定义唯3.3.3维度表的设计维度表的设计是对事实表的进一步细化。它也要根据逻辑模型来设计。每个事实表都需要大量的数据来对其属性和细节进行详细说明,而维度表就是将这些详细说明的数据按其逻辑关系存放的工具。一个维度表拥有很多属性,这些属性可以是文字,离散值和有规定的限制,在分析过程中可以作为信息的行标题。需要注意的是,在设计事实表和维度表之间的关系时,尽量让维度表中的数据直接参考事实表中的数据,而不是通过其他维度表间接参考事实表。这样,可以最小化表之间的连接数量,减少系统CPU和I/O通道及存储设备的负担。3.3.4事实表的设计事实表是星形模型的核心。它一般包含两部分:键和详细指标。其中,键又分为主键和外键,它们将各维表组织起来,共同满足用户的查询需求,而详细指标则是记录在事实表中的具体数据,供查询使用。3.3.5数据集市设计独立数据集市用户图3-18独立型数据集市结构从属型数据集市结构如图3-19所示从属数据集市图3-19从属型数据集市结构3.3物理模型设计定义数据存储结构RAID0数据带状分布在多个磁盘上,无冗余。高性能,低成本,但磁盘损坏导致整个磁盘整列无法使用。RAID1磁盘镜像,数据写入成对的冗余驱动器。可读性能高,可靠性高,昂贵。RAID2数据按位或块交错分布,校验码由额外驱动器存储。高性能,纠错一位,验错两位,昂贵。RAID3数据按位或块交错存储,一个驱动器存储校验数据。对大块数据性能较高,不支持运行恢复。RAID4数据按扇区交错存储,校验数据由专门驱动器存储。处理多个系统的I/O操作,两个驱动器。RAID5数据按扇区交错存储于多个驱动器。不需专门的校验驱动器,需要两个或三个驱动器,写入能力弱。图3-20RAID技术索引策略20020701001-2002070105020020701051-2002070110020020701001-2002070102520020701026-2002070105020020701051-2002070107020020701071-200207011002002070100120020701002……2002070102620020701027……2002070105120020701070……2002070107120020701072……图3-21B-TREE索引示例20020701026——地址20020701027——地址……——地址指向数据行的指针数据存储策略物理模型设计过程中,要注意考虑数据存储。因为,数据仓库不要求把同一主题的数据放在同一介质上,所以我们可以根据数据的重要程度,使用频率和响应时间来存放数据,一般而言,将那些重要程度高,使用频率高和响应时间要求高的数据存放在高速存储设备上,比如:硬盘,而其它的数据则可以放在低速存储设备上,比如磁盘等。存储分配优化1.设定正确的块大小2.设置适当的块使用参数3.数据迁移管理4.块使用管理5.解决动态扩展6.采用文件分带技术数据加载设计数据仓库要求的一个重要技术就是能高效地载入数据。有两种方式:通过一个语言接口一次载入一条记录或使用一种工具全体批量地装入。注意,在装载数据时,索引也必须随之装入。若数据装载的容量负荷太大的情况下,可以采用并行装载。它将数据分为几个工作流,这样所需时间就大大降低。此外,还有一种高效装载方法是在装载前先对数据进行缓冲处理。这种方法一般在数据量大且复杂程度高的情况下使用。物理模型的设计对数据仓库性能的影响在物理模型的设计阶段,同时也要考虑数据仓库性能。为了兼顾数据仓库性能,我们在这个阶段应从以下几个方面入手:合理控制数据规范化程度,主要方法有:表的归并,允许数据冗余;存储策略,主要有:服务器的数据分散存储,磁盘级的存储优化;RAID技术;科学的索引方法,主要有B-TREE索引,位图索引等;合理控制数据粒度;合理的数据。3.4元数据模型为了让读者能更准确的了解什么是元数据,我们用下例进行说明,它定义了数据仓库中的一个表,如表3-3所示。表3-3元数据举例Table逻辑名学生定义学校的主要成员,主要进行学习任务物理存储Student.table(数据库表)建立日期2006年9月13日最后更新日期2007年9月13日更新周期每月表逻辑程序名STUDENT(程序名称)3.4.l元数据的类型按照不同的依据对元数据分类各不相同,可有以下的分类依据:元数据描述的内容用户的角度元数据在数据仓库中承担的任务数据仓库功能区域划分3.4.2元数据的作用1.元数据在数据求精,开发,重构中的作用(1)描述业务规则与数据之间的映射。(2)数据分割。(3)概括与聚集。(4)提高系统灵活性。(5)定义标准处理的规则。(6)预算与推倒。(7)转换与再映射。2.元数据在数据抽取,转换中的作用(1)确定数据来源。(3)实现属性间的映射与转换。(2)保证数据仓库中内容的质量。3.4.3元数据的收集与维护1.元数据的收集(1)来源于源系统元数据操作型系统数据模型系统文档的数据元素定义COBOL写字板及控制块规范物理文件布局及字段定义程序规范外部数据来源的文件布局和字段定义其他来源(如:电子表格)图3-23源系统中元数据收集(2)来源于抽取的数据元数据源平台的数据和连接所选择的数据源的布局和定义每个平台上初始抽取文件的合并准则用于抽取的字段定义标准化字段类型与长度的规则数据抽取计划增量修改的抽取方法数据抽取任务流图3-24从抽取的数据种收集元数据(3)来源于转换和清理的数据元数据抽取文件到数据准备文件的映射规范单独文件的转换规则字段默认有效性检查的商业规则分类及重排序安排从数据抽取到数据准备的审查跟踪图3-25从转换和清洗的数据中收集元数据(4)来源于装载的数据元数据从数据准备文件到装载映像的映射规则数据准备到装载映像的审查跟踪为每个文件分配键时的分配规则完全刷新的计划增量装载的计划数据装载任务流图3-26从数据装载中收集元数据(5)来源于存储的数据元数据集中式数据仓库和独立数据集市数据模型统一化数据集市数据模型多个表组成的主题区域物理文件表和列定义有效性检查的商业规则图3-27从数据装载中收集元数据(6)来源于信息传递元数据预定义查询和报表的列表特殊OLAP数据库德数据模型查询和报表工具列表为OLAP检索数据的计划图3-28从数据装载中收集元数据2.元数据的维护(1)元数据的存储(2)元数据的管理(3)元数据的维护3.4.4元数据的使用数据仓库对元数据的使用主要体现在两个方面:第一,因为元数据对数据仓库中数据的内容和出处进行了详细说明,所以,用户可以根据主题利用元数据来查看数据仓库的内容;第二,因为元数据提供了可重复利用的查询语言信息,所以,如果这些查询中的一个或几个能满足用户的需求,或与用户需求相近,用户就可以直接使用元数据中的查询,而不用重新编写程序。3.5数据仓库的粒度模型3.5.l粒度的划分所谓粒度是指数据仓库中数据单元的详细程度和级别。在数据仓库环境中主要是分析型处理,粒度的划分将直接影响数据仓库中的数据量以及所适合的查询类型。一般需要将数据划分为:详细数据、轻度综合、高度综合三级或更多级粒度。不同粒度级别的数据用于不同类型的分析处理。粒度的划分是数据仓库设计工作的一项重要内容,粒度划分是否适当是影响数据仓库性能的一个重要方面。3.5.2粒度级别的确定在数据仓库中确定粒度的级别时,需要考虑这样一些因素:要接受的分析类型、可接受的数据最低粒度和能存储的数据量。粒度级别的确定是需要一点常识和直觉的。因为在很低的细节级上建立数据仓库没有意义,在很高的粒度级上建立数据仓库,会使很多数据溢出存储器。因此,确定粒度级别要做两件事。第二,对需要从数据仓库获取数据的不同体系结构实体需求进行预测。第一,合理的推测。习题1.什么是元数据模型?2.数据仓库可划分为哪三个层次的数据模型?3.阐述星形模型、雪花模型、事实星座模型的概念。4.简述从概念模型到逻辑数据模型的转换过程。5.什么是数据表的规范化?6.简述事实表的设计。7.数据加载有哪两种方式?8.按元数据描述的内容分可以分为哪几类?9.什么是静态元数据?什么是动态元数据?10.如何确定粒度级别?

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功