1、第四章 数据仓库设计数据仓库设计方法概述DW的设计与DB的设计DW设计的三级数据模型数据仓库设计步骤概念模型设计逻辑模型设计物理模型设计1Inmon的三级数据模型高级数据模型:采用ER方法方法中级数据模型:称为dis(Data Item Set)一个dis与ER中的一个主题域(实体)对应中的一个主题域(实体)对应低级数据模型:物理模型2DIS的基本结构基本数据组:应包括主题的码和属性,一个主题只存在一个基本数据组。 如: 顾客 主题中的顾客号、顾客名、性别等。 联接数据组:反映主题之间的联系,往往是一个主题的公共码键。 二级数据组:相对稳定的数据组。如:顾客的地址、电话、文化程度等。 类型数据
2、组:频繁变动的数据组。如:顾客的购物记录。稳定性:基本数据组 二级数据组 类型数据组 基本数据组连接数据组二级数据组类型数据组3DW设计的三级数据模型概念模型:“信息世界”中的信息结构 用ER方法,以主题替代实体逻辑模型: 一般采用关系模型物理模型: 物理存储结构、存储方法如:建立数据分片、合并表,建立包括广义索引在内的各种索引机制,引入冗余,生成导出数据等4数据仓库设计的基本步骤数据仓库运行与维护分析主题域,针对每一个选定的实施的主题域逻辑模型设计物理模型设计粒度层次划分数据分割策略记录系统定义关系模式定义确定存储结构确定索引结构确定存放位置确定存储分配概念模型设计界定系统边界确定主题域技术
3、准备工作技术环境准备技术评估数据仓库生成设计接口数据装入5第五章 数据仓库的建立和维护6第五章 数据仓库的建立和维护数据仓库的开发数据仓库的建立过程数据仓库的开发方法 数据仓库的维护提高数据仓库性能数据仓库的安全性7数据仓库开发过程分析与设计阶段 数据获取阶段决策支持阶段维护与评估阶段8需求分析数据装载信息查询概念设计逻辑设计物理设计数据抽取数据转换知识探索数据仓库增长数据仓库维护数据仓库评估决策支持数据获取分析与设计维护与评估数据仓库开发过程数据仓库开发过程910分析与设计阶段 需求分析数据路线技术路线应用路线11需求分析确定决策主题域分析主题域的商业维度分析支持决策的数据来源确定数据仓库的
4、数据量大小分析数据更新的频率确定决策分析方法需求分析需求定义文档提纲:需求定义文档提纲:绪论:项目的目的和范围总体需求描述:描述源系统,大体阐述数据仓库中需要什么类型的数据具体需求:包括需要的源数据的细节;列出数据转换和存储的需求;描述用户需要的各类信息传递方法事实及维度其他需求:如数据抽取频率、数据载入方法用户期望:如何使用数据仓库用户参与:列出用户在开发生命周期中希望参与的任务和行动综合实施计划:给出一个高水准的实施计划12数据路线概念设计逻辑设计物理设计数据装载接口设计l 数据装载功能l 数据综合功能1314概念设计建立概念模型:对每个决策主题与属性以及主题之间的关系用E-R图模型表示。
5、E-R图将现实世界表示成信息世界,便利向计算机的表示形式进行转化。15逻辑设计将概念模型(E-R图)转换成逻辑模型,即计算机表示的数据模型。数据仓库数据模型一般采用星型模型。星型模型由事实表、维表组成。“维维”Keys属性属性Facts地点地点 Table时间时间 Table产品产品 Table客户客户 TableMany Records.16主题域进行概念模型到逻辑模型的转换星型模型的设计步骤如下:(1)确定决策分析需求(2)从需求中识别出事实(3)确定维(4)确定数据汇总水平(5)设计事实表和维表(6)按使用的DBMS和分析用户工具,证实设计方案的有效性 (7)随着需求变化修改设计方案17
6、从的ER图转换成星型模型实例说明 (1)业务数据的E-R图销售销售日期商店号商品号销售数量销售单位商品商品号商品名商品类号存货星期商店号商品号数量1m1m商店商店号商店名地址城市省邮编地区号1mm11商品类商品类号商品类名部门号m1m地区地区号地区名18销售数据和维销售数据商品促销时间部门城市地区商店销售业务的多维数据销售业务的多维数据19E-R图向多维表的转换该问题的多维表模型中,商品维包括部门、商品和商品大类,地点维包括地区和商店,忽略存货,而只注意销售事实。在E-R图中不出现的时间,在多维模型中增加时间维。在多维模型中,实体与维之间建立映射关系,联系多个实体的实体就成为事实,此处销售实体
7、作为事实,其他实体作为维。然后用维关键字将它转换为星型模型。20商品维地区维时间维部门地区年商品大类商店月商品周日销售事实 E-R图向多维模型的转换图向多维模型的转换21在各维中,只有部门,商品类,地区,商店的编号没有具体的说明。为了打印报表将增加这些编号的名称说明,即部门名、商店名等,在维表中增加这些说明,即修改该星型模型 22 时间 时间键 时间说明 日期 星期 月 年 级别号 销售事实 时间键 地理位置键 商品键 销售数量 销售单位 地区 地理位置键 地理位置名 地区号 商店号 级别号 商品 商品键 商品名 部门号 商品类号 级别号 利用维关键字制定的星型模型利用维关键字制定的星型模型2
8、3 时间 时间键 时间说明 日期 星期 月 年 级别号 销售事实 时间键 地理位置键 商品键 销售数量 销售单位 地区 地理位置键 地理位置名 地区号 地区名 商店号 商店名 级别号 商品 商品键 商品名 部门号 部门名 商品类号 商品类名 级别号 修改后的星型模型修改后的星型模型2425物理设计对逻辑模型设计的数据模型确定物理存储结构和存取方法。数据仓库的星型模型在计算机中仍用关系型数据库存储。物理设计还需要进行存储容量的估计;确定数据存储的计划;确定索引策略;确定数据存放位置以及确定存储分配。名称类型长度注释产品维表包括公司所有产品的信息Product-Keyinteger10主键Prod
9、uct-Namechar25产品名称Product-SKuchar20库存单位销售员维表包括不同地区的所有销售员信息Salpers-Keyinteger15主键Salpers-Namechar30销售员姓名Territorychar20销售员所在区域Regionchar20所在地区订单事实表包括公司收到的所有订单Order-Keyinteger10订单键Order-Namechar20订单名称Product-refinteger10参考产品主键Salpers-refinteger15参考销售员主键Order-AmountNum8,2销售额Order-CostNum8,2订单成本逻辑模型产品维表
10、产品键产品名库存单位品牌订单事实表订单键订单名产品键销售员键销售额订单成本销售员维表销售员键姓名地域地区26数据仓库设计的基本步骤数据仓库运行与维护分析主题域,针对每一个选定的实施的主题域逻辑模型设计物理模型设计粒度层次划分数据分割策略记录系统定义关系模式定义确定存储结构确定索引结构确定存放位置确定存储分配概念模型设计界定系统边界确定主题域技术准备工作技术环境准备技术评估数据仓库生成设计接口数据装入27 技术路线主要确定数据仓库的基础构造,数据仓库的功能和服务都是在数据仓库基础构造的支持下完成的。 数据仓库的基础构造元素分成两大类: 1、操作型基础构造 2、物理基础构造技术路线28 1、操作型
11、基础构造 包括人员、流程、培训和管理软件。 2、物理基础构造 (1)计算机平台l 硬件和操作系统l 服务器硬件l 数据库管理系统 (2)工具技术路线29 1、OLAP模型设计 (1)总体维度分析l 确定与任务相关的所有维l 定义维度的层次及名称l 确定层次信息的位置l 确定目标维 (2)主题的维度设计 (3)确定事实表度量变量和数据粒度 (4)定义OLAP模型应用路线30 2、数据挖掘模型设计 根据应用范围、用户目标、数据类型选择数据挖掘方法,确定合适的数据挖掘模型,并通过训练将其参数校正到最优值。 在数据挖掘前,要根据挖掘模型要求转换数据格式,将数据分为训练集合、验证集合,训练集合用于校正模
12、型参数,验证集合用于评价模型的效果。应用路线31 3、信息传递设计 数据仓库的信息潜力很大,数据仓库的信息传递方式是交互式的。用户通过和数据仓库的交互来获得数据,将其转化为有用的信息: 需要提供全面适当的信息传递机制:l 旅行者:企业的主管人员/高级经理l 操作者:部门经理/生产线管理员l 农夫:企业的各种分析员,技术、市场、销售、金融等,需求是标准化的,比如分析每月的销售额l 勘探者:研究员、熟练的技术分析员l 矿工:在数据中发现新的、未知的模式(数据挖掘) 应用路线32数据仓库开发过程分析与设计阶段 数据获取阶段决策支持阶段维护与评估阶段3334数据获取阶段 数据抽取数据转换数据装载35数
13、据抽取对数据源的确认,确定数据抽取技术,确认数据抽取频率,按照时间要求抽取数据。由于源系统的差异性,如计算机平台、操作系统、数据库管理系统、网络协议等的不同造成了抽取数据的困难。捕获数据的方法完全刷新对移入DW的数据进行完全复制经常变化增量更新捕获数据源中修改的数据流水型增长、数据量大对两者结合的数据先考虑增量更新,再考虑完全刷新3637数据转换数据格式的修正字段的解码单个字段的分离信息的合并变量单位的转化时间的转化数据汇总38数据装载初始装载:第一次装入数据仓库增量装载:根据定期应用需求装入数据仓库完全刷新:完全删除现有数据,重新装入新的数据数据仓库开发过程分析与设计阶段 数据获取阶段决策支
14、持阶段维护与评估阶段3940决策支持阶段信息查询知识探索41信息查询创建数据阵列将相关的数据(每月的数据)放在同一个物理位置上。预连接表格对于两个或多个表格共享一个公用链。预聚集数据以每天为基础存储数据。在一周结束时,以每周为基础存储数据(即累加每天的数据)。月末时,则以每月为基础存储数据。聚类数据聚类将数据放置在同一地点,这样可以提高对聚类数据的查询。42知识探索发现的问题并找出原因。 创建一个单独的探索仓库,不影响数据仓库的常规用户。同时采用“标识技术”进行数据压缩,提高数据分析速度。使用一些模型帮助决策分析,例如客户分段、欺诈监测、信用分险、客户生存期、渠道响应、推销响应等模型。通过模型
15、的计算来得出一些有价值的商业知识。采用数据挖掘工具来获取商业知识。例如,得到如下一些知识:哪些商品一起销售好?哪些商品一起销售好?哪些商业事务处理可能带有欺诈性?哪些商业事务处理可能带有欺诈性?高价值客户的共同点是什么?高价值客户的共同点是什么?获取的知识为企业领导者提供决策支持,达到保留客户,减少欺诈,提高公司利润具有重要作用。数据仓库开发过程分析与设计阶段 数据获取阶段决策支持阶段维护与评估阶段4344维护与评估阶段数据仓库增长数据仓库建立以后,随着用户的不断增加,时间的增长,用户查询需求更多,数据会迅速增长数据仓库维护数据增长的处理工作有:去掉没有用的历史数据;根据用户使用的情况,取消某
16、些细节数据和无用的汇总数据,增加些实用的汇总数据。正常系统维护:数据仓库的备份和恢复数据仓库评估45数据仓库评估系统性能评定投资回报分析数据质量评估46系统性能评定硬件平台是否能够支持大数据量的工作和多类用户、多种工具的大量需求?软件平台是否是用一个高效的且优化的方式来组织和管理数据?是否适应系统(数据和处理)的扩展?数据仓库的投资分析建设数据仓库的必要性数据仓库的投资回报分析47建设数据仓库的必要性数据仓库是否对每个企业都有用? 企业建立数据仓库的必要性与企业内部的复杂程度和客户的数目成正比。4849投资回报分析定量分析:计算投资回报率(ROI),即收益与成本的比率。 定性分析:企业与客户之
17、间关系状态?对机会快速反应能力如何?改善管理能力如何?数据仓库的投资回报分析定量分析 投资回报率 ROI (return of investment):ROI = 收益现值/成本现值 投资回报周期 (payback period):项目投入到企业收回投资成本之间的时间。50数据仓库的投资回报分析举例加拿大IDC公司:欧美62家企业数据仓库3年ROI平均值为401%,收回投资的平均时间为2.3年。结论:数据仓库投资回报率相当可观,对于环境比较复杂的企业,数据仓库是一种有价值的投资51数据仓库的投资回报分析定性分析能否提高产品质量,降低生产成本能否便于员工协同工作能否改善公司和客户之间的关系能否改
18、善管理能力能否进行短期决策和长期决策:既能管理微观数据又能管理宏观数据能否加快企业对市场变化的反映速度5253数据质量评估数据是准确的。数据符合它的类型要求和取值要求。数据具有完整性和一致性。数据是清晰的且符合商业规则。数据保持时效性并不能出现异常。第五章 数据仓库的建立和维护数据仓库的开发数据仓库的建立过程数据仓库的开发方法 数据仓库的维护提高数据仓库性能数据仓库的安全性54数据仓库的开发方法瀑布式开发螺旋式开发55瀑布式开发瀑布式开发是一种最常用,最受欢迎的开发方法。大体分为这几个阶段:需求分析、设计、编码、测试、维护。需求阶段的工作是否到位是整个系统开发的关键。瀑布式开发在传统的操作型应
19、用中效果较好,因为需求常常是事先确定的。分析型应用中,用户需求不事先确定,且容易变化,不适用本方法。56螺旋式开发将一个庞大的任务划分成多个阶段;在每一个阶段中,按照问题定义、系统分析、开发、实现、维护和系统评估来进行;一个阶段完成后,开始新的阶段,每个阶段都以前一阶段的结果为参考点,再新增新的需求项目,直到所有的需求都满足为止。本方法适合数据仓库系统的开发。57第五章 数据仓库的建立和维护数据仓库的开发数据仓库的建立过程数据仓库的开发方法 数据仓库的维护提高数据仓库性能数据仓库的安全性58运行维护的任务理解需求、完善系统刷新当前详细数据、清除过时数据和休眠数据、调整粒度级别、改进系统设计在D
20、W中建立DSS应用DSS应用开发的特点从数据出发不断循环过程(启发式开发)DSS应用分类例行分析处理部门级启发式分析处理个人级(即席分析处理)59运行维护60数据仓库的维护过程中须考虑的问题数据周期参照完整性数据环境信息数据备份与恢复61数据周期 从操作型环境中的数据发生变化到这种变化被反映到数据仓库中,需要一定的延迟时间,这个延迟时间就是“数据周期”62提高数据仓库性能提高I/O性能缩小查询范围采取并行优化技术选择适当的初始化参数63提高I/O性能合并表建立数据序列引入冗余生成导出数据6465决策支持阶段-信息查询创建数据阵列将相关的数据(每月的数据)放在同一个物理位置上。预连接表格对于两个
21、或多个表格共享一个公用链。预聚集数据以每天为基础存储数据。在一周结束时,以每周为基础存储数据(即累加每天的数据)。月末时,则以每月为基础存储数据。聚类数据聚类将数据放置在同一地点,这样可以提高对聚类数据的查询。合并表当有许多表时,动态连接需要进行大量的I/O66合并表表在物理上合并之后,只需要较少的I/O67数据数组在适合的情况下,创建数据数组可以提高性能,节省资源数列中值的数量稳定数值按顺序访问创建与修改有规律68数据数组举例保险业环境中保险金的粒度级别保险金支付记录数量很少,没必要用双重粒度保险金记帐有规律,可以创建数据数组69引入冗余一项数据属性(主外码不算此类)存在于多个关系模式中例如
22、:在采购表/销售表中增加商品名称、商品类型等提高了性能,省去了Join操作70引入冗余尽管描述信息冗余,但很少更新,提高了查询性能71导出数据事先在源数据基础上,进行汇总或计算,生成导出数据导出数据,只计算一次就可以永久使用了72缩小查询范围划分粒度分割数据表建立索引73提高数据粒度的方法当源数据放入数据仓库时,对它进行汇总当源数据放入数据仓库时,对它求平均或进行计算把最大/最小的一组值放入数据仓库只把显然需要的数据放入数据仓库用条件逻辑选取记录的一个子集放入数据仓库74数据仓库的设计就是在概念模型、逻辑模型和物理模型的依次转换过程中实现的。作为数据仓库的灵魂元数据模型则自始至终伴随着数据仓库
23、的开发、实施与使用。数据粒度和聚集模型也在数据仓库的创建中发挥着指导的作用,指导着数据仓库的具体实现。现实世界概念模型逻辑模型物理模型数据仓库元数据模型数据粒度和聚集模型75数据分片:选择分片的标准选择分片的标准数据量的大小(而非记录行数)数据分片处理的对象的特征以及属性之间的相关性例如:商品按类和时间作为分片的标准供应商按地区和时间作为分片的标准易于实现(实施)例如:按时间、业务类型与粒度划分策略统一起来例如:按时间于商品类对销售数据进行综合(粒度划分)每一粒度再按时间与商品类进行分片,分片后仍便于做高度综合。76数据分片:数据分片的策略对于给定的磁盘个数,进行数据分片的方法范围分片:利用属
24、性值的范围进行数据分片优点:数据逻辑比较清楚缺点:导致数据分配的不平衡循环轮转法:按照一定顺序,依次存放各个数据。数据分配均匀。Hashing方法:利用Hash函数。数据分配均匀。77采取并行优化技术数据的抽取/综合数据的写入数据的查询 不同查询并行 查询内并行78选择适当的初始化参数初始化参数:如并发用户数数据压缩清除无用数据79数据仓库的安全性安全类型个体组层次集成安全方法外部安全内部安全数据加密结构化加密分区加密不同粒度级别的安全性801: 请回答出数据仓库的定义 2:数据仓库中的多维模型最常用的是哪种? A: SNOWFLAKE MODEL B: STAR MODEL C: E-R MODEL D: TREND MODEL 4:关于OLTP系统不适合于分析报表的原因,以下哪项是错误的? A:Information to support day-to-day service B:Data stored at transaction level C:Database design is Normalized D:database design is star schema5:star model中的表包括那两种?多选 A:代码表 B:维表 C:事实表 D:参照表 81