数据仓库多维数据库模型幻灯片.ppt
数据仓库多维数据库模型第1页,共30页,编辑于2022年,星期六何谓数据仓库?何谓数据仓库?一种面向分析的环境;一种面向分析的环境;一种把相关的各种数据转换成有商业价值的信息的技术。一种把相关的各种数据转换成有商业价值的信息的技术。第2页,共30页,编辑于2022年,星期六1、从数据库到数据仓库、从数据库到数据仓库 数据库系统能够很好的用于事务处理,但它对分析处理的数据库系统能够很好的用于事务处理,但它对分析处理的支持一直不能令人满意。特别是当以业务处理为主的联机事务支持一直不能令人满意。特别是当以业务处理为主的联机事务处理(处理(OLTP)应用和以分析处理为主的应用和以分析处理为主的DSS应用共存于应用共存于一个数据库系统时,就会产生许多问题。一个数据库系统时,就会产生许多问题。例如,事务处理应用一般需要的是当前数据,主要考虑例如,事务处理应用一般需要的是当前数据,主要考虑较短的响应时间;而分析处理应用需要是历史的、综合的、集较短的响应时间;而分析处理应用需要是历史的、综合的、集成的数据,它的分析处理过程可能持续几个小时,从而消耗大成的数据,它的分析处理过程可能持续几个小时,从而消耗大量的系统资源。量的系统资源。第3页,共30页,编辑于2022年,星期六 人们逐渐认识到直接用事务处理人们逐渐认识到直接用事务处理环境环境来支持来支持DSS是行不通是行不通的。要提高分析和决策的有效性,分析型处理及其数据必须与操的。要提高分析和决策的有效性,分析型处理及其数据必须与操作型处理及其数据分离。必须作型处理及其数据分离。必须把分析型数据从事务处理环境中提把分析型数据从事务处理环境中提取出来,按照取出来,按照DSS处理的需要进行重新组织,建立单独的分析处理的需要进行重新组织,建立单独的分析处理环境处理环境。数据仓库技术正是为了构建这种新的分析处理环境而出现数据仓库技术正是为了构建这种新的分析处理环境而出现的一种数据存储和组织技术。的一种数据存储和组织技术。第4页,共30页,编辑于2022年,星期六操作型数据操作型数据分析型数据分析型数据细节的细节的综合的,或提炼的综合的,或提炼的在存取瞬间是准确的在存取瞬间是准确的代表过去的数据代表过去的数据可更新可更新不更新不更新操作需求事先可知道操作需求事先可知道操作需求事先不知道操作需求事先不知道生命周期符合生命周期符合SDLC完全不同的生命周期完全不同的生命周期对性能要求高对性能要求高对性能要求宽松对性能要求宽松一个时刻操作一个单元一个时刻操作一个单元一个时刻操作一个集合一个时刻操作一个集合事物驱动事物驱动分析驱动分析驱动面向应用面向应用面向分析面向分析一次操作数据量小一次操作数据量小一次操作数据量大一次操作数据量大支持日常操作支持日常操作支持管理需求支持管理需求第5页,共30页,编辑于2022年,星期六数据仓库与决策支持系统(数据仓库与决策支持系统(DSS)用户在进行决策制定时需要得到企业各方面的信息,因用户在进行决策制定时需要得到企业各方面的信息,因此用户一般首先根据各个业务部门数据库中的数据,创建数此用户一般首先根据各个业务部门数据库中的数据,创建数据仓库,存储各种历史信息和汇总信息。据仓库,存储各种历史信息和汇总信息。对数据仓库的进一步应用由功能强大的分析工具来对数据仓库的进一步应用由功能强大的分析工具来实现。现在主要有三类分析工具可用于决策支持。实现。现在主要有三类分析工具可用于决策支持。第一类能够支持涉及分组和聚集查询,并能够对各种复杂第一类能够支持涉及分组和聚集查询,并能够对各种复杂的布尔条件、统计函数和时间序列分析提供支持的系统。主要的布尔条件、统计函数和时间序列分析提供支持的系统。主要由上述查询组成的应用称为联机分析处理,即由上述查询组成的应用称为联机分析处理,即OLAP。在支持。在支持OLAP查询的系统中,数据最好看成是一个多维数组。查询的系统中,数据最好看成是一个多维数组。第6页,共30页,编辑于2022年,星期六 第二类系统仍为支持传统第二类系统仍为支持传统SQL查询的查询的DBMS,但为了有,但为了有效地执行效地执行OLAP查询而进行了特殊的设计。这些系统可以看查询而进行了特殊的设计。这些系统可以看作是为决策支持应用进行了优化的关系数据库系统。许多关作是为决策支持应用进行了优化的关系数据库系统。许多关系数据库厂商对他们的产品进行了扩展,并且随着时间的推系数据库厂商对他们的产品进行了扩展,并且随着时间的推移,专门的移,专门的OLAP系统和支持决策支持的关系数据库系统之系统和支持决策支持的关系数据库系统之间的差别将逐渐取消。间的差别将逐渐取消。第7页,共30页,编辑于2022年,星期六 第三类的分析工具可用于在大量的数据集合中,找到有意第三类的分析工具可用于在大量的数据集合中,找到有意义的数据趋势或者模式,而不是上面提到的复杂数据查询。义的数据趋势或者模式,而不是上面提到的复杂数据查询。在数据分析过程中,尽管分析者能够判定得到的数据模式是在数据分析过程中,尽管分析者能够判定得到的数据模式是否有意义,但是生成查询来得到有意义的模式还是很困难的。否有意义,但是生成查询来得到有意义的模式还是很困难的。例如,分析者查看信用卡使用记录,希望从中找出不正常的例如,分析者查看信用卡使用记录,希望从中找出不正常的信用卡使用行为,以表明是被滥用的丢失的信用卡;商人希信用卡使用行为,以表明是被滥用的丢失的信用卡;商人希望通过查看客户记录找出潜在的客户来提高收益。许多应用望通过查看客户记录找出潜在的客户来提高收益。许多应用涉及的数据量很大,很难用人工分析或者传统的统计分析方涉及的数据量很大,很难用人工分析或者传统的统计分析方法进行分析,法进行分析,数据挖掘数据挖掘的目的就是对这种大量数据的分析提供的目的就是对这种大量数据的分析提供支持。支持。第8页,共30页,编辑于2022年,星期六2、数据仓库的定义及特征、数据仓库的定义及特征 数据仓库理论的创始人数据仓库理论的创始人W.H.Inmon在其在其Building the Data Warehouse一书中,给出了数据仓库的四个基本特一书中,给出了数据仓库的四个基本特征:征:面向主题,数据是集成的,数据是不可更新的,数据是随面向主题,数据是集成的,数据是不可更新的,数据是随时间不断变化的时间不断变化的。第9页,共30页,编辑于2022年,星期六采购子系统采购子系统:订单(订单号,供应商号,商品号,类别,单价。数量,订单(订单号,供应商号,商品号,类别,单价。数量,总金额,日期,总金额,日期,)供应商(供应商号,供应商名,地址,电话,供应商(供应商号,供应商名,地址,电话,)销售子系统:销售子系统:客户(客户号,姓名,地址,电话,客户(客户号,姓名,地址,电话,)销售(客户号,商品号,数量,单价,日期,销售(客户号,商品号,数量,单价,日期,)库存子系统:库存子系统:进库单(编号,商品号,数量,单价,日期,进库单(编号,商品号,数量,单价,日期,)出库单(编号,商品号,数量,单价,日期,出库单(编号,商品号,数量,单价,日期,)库存(商品号,库存(商品号,库房号,类别,单价,库存数量,库房号,类别,单价,库存数量,总金额,日期,总金额,日期,)第10页,共30页,编辑于2022年,星期六 商品固有信息:商品号,类别,单价,颜色,商品固有信息:商品号,类别,单价,颜色,商品采购信息:商品号,类别,供应商号,供应日期,商品采购信息:商品号,类别,供应商号,供应日期,单价,数量,单价,数量,商品销售信息:商品号,客户号,数量,单价,销售日期,商品销售信息:商品号,客户号,数量,单价,销售日期,商品库存信息:商品号,商品库存信息:商品号,库房号,库存数量,日期,库房号,库存数量,日期,)商品主题域:商品主题域:采购子系统采购子系统销售子系统销售子系统库存子系统库存子系统第11页,共30页,编辑于2022年,星期六3、数据仓库中的数据组织、数据仓库中的数据组织 数据仓库中的数据分为四个级别:早期细节级,当前数据仓库中的数据分为四个级别:早期细节级,当前细节级,轻度综合级,高度综合级。细节级,轻度综合级,高度综合级。19851998年年销售明细表销售明细表19982003年年销售明细表销售明细表19982003年年每月销售表每月销售表19982003年年每季度销售表每季度销售表第12页,共30页,编辑于2022年,星期六 DW中还有一类重要的数据:元数据(中还有一类重要的数据:元数据(metedata)。元)。元数据是数据是“关于数据的数据关于数据的数据”(RDBMS中的数据字典就是一中的数据字典就是一种元数据)。种元数据)。数据仓库中的元数据描述了数据的结构、内容、索引、数据仓库中的元数据描述了数据的结构、内容、索引、码、数据转换规则、粒度定义等。码、数据转换规则、粒度定义等。第13页,共30页,编辑于2022年,星期六4、数据仓库系统结构、数据仓库系统结构RDBMS数据文件数据文件其他其他 综合数据综合数据 当前数据当前数据 历史数据历史数据 元数据元数据 抽取、转换、装载抽取、转换、装载数据仓库数据仓库OLAP工具工具 DM工具工具 查询工具查询工具分析工具分析工具第14页,共30页,编辑于2022年,星期六二、数据仓库设计二、数据仓库设计 数据仓库的设计分为如下三个阶段:数据仓库的设计分为如下三个阶段:数据仓库建模数据仓库建模 分析主题域分析主题域 确定粒度层次确定粒度层次 确定数据分割策略确定数据分割策略 构建数据仓库构建数据仓库 数据的存储结构与存储策略数据的存储结构与存储策略 DSS应用编程应用编程 第15页,共30页,编辑于2022年,星期六三、操作数据存储(三、操作数据存储(ODS)在许多情况下,在许多情况下,DB-DW的两层体系结构并不适合企业的的两层体系结构并不适合企业的数据处理要求。因为,虽然可以粗略地把数据处理分成操数据处理要求。因为,虽然可以粗略地把数据处理分成操作型和分析型,但这两种处理处理并不是泾渭分明的。作型和分析型,但这两种处理处理并不是泾渭分明的。ODS(Operational Data Store)作为一个中间层次,一方面,)作为一个中间层次,一方面,它包含企业全局一致的、细节的、当前的或接近当前的数据,另它包含企业全局一致的、细节的、当前的或接近当前的数据,另一方面,它又是一个面向主题、集成的数据环境,适合完成日常一方面,它又是一个面向主题、集成的数据环境,适合完成日常决策的分析处理。决策的分析处理。第16页,共30页,编辑于2022年,星期六四、数据仓库的实现四、数据仓库的实现 数据仓库的工具主要有:数据预处理工具,数据分数据仓库的工具主要有:数据预处理工具,数据分析(析(OLAP)工具,数据挖掘工具,)工具,数据挖掘工具,OLAP服务器。服务器。第17页,共30页,编辑于2022年,星期六 数据仓库和数据仓库和OLAP工具基于工具基于多维数据模型多维数据模型(在数据仓库(在数据仓库中,通常以多维方式来存储数据。中,通常以多维方式来存储数据。)。)。基本概念基本概念 维维:人们观察数据的特定角度。:人们观察数据的特定角度。维的层次维的层次:人们观察数据的特定角度可能存在细节程度:人们观察数据的特定角度可能存在细节程度不同的多个描述方面,我们称其为维的层次。不同的多个描述方面,我们称其为维的层次。多维分析的基本动作多维分析的基本动作 上卷上卷:汇总数据汇总数据 下钻:明细数据下钻:明细数据 切片,旋转,切片,旋转,。第18页,共30页,编辑于2022年,星期六Sales volume as a function of product,month,and regionProductRegionMonthDimensions:Product,Location,TimeHierarchical summarization pathsIndustry Region YearCategory Country QuarterProduct City Month Week Office Day第19页,共30页,编辑于2022年,星期六Total annual salesof TV in U.S.A.DateProductCountrysumsum TVVCRPC1Qtr2Qtr3Qtr4QtrU.S.ACanadaMexicosum第20页,共30页,编辑于2022年,星期六 产品销售 情况某年某月产品销售情况选定两个维:产品维和地区维选定两个维:产品维和地区维时间维时间维数据切片数据切片产产品品维维地区维地区维产产品品维维地区维地区维第21页,共30页,编辑于2022年,星期六基于基于RDBMS的数据仓库实现的数据仓库实现 关系数据库将多维数据库中的多维结构分为两类:一类是事关系数据库将多维数据库中的多维结构分为两类:一类是事实表,用来存储事实的度量值以及各个维的码值;另一类是维表。实表,用来存储事实的度量值以及各个维的码值;另一类是维表。数据仓库的设计模型有数据仓库的设计模型有:星型模式,雪花模式,混合星型模式,雪花模式,混合模式模式 数据仓库的设计也可以理解为面向数据仓库的设计也可以理解为面向OLAP的数据库设的数据库设计。计。第22页,共30页,编辑于2022年,星期六 在星型模式中,主要数据存储在事实表中,没有冗余,在星型模式中,主要数据存储在事实表中,没有冗余,并符合并符合3NF或或BCNF。维值信息存储在维表中。维表一般不需要规范化。维值信息存储在维表中。维表一般不需要规范化。主要原因是维表是静态的,是否会产生因更新而导致异主要原因是维表是静态的,是否会产生因更新而导致异常也就不重要了。常也就不重要了。ProductsPid pname category priceLocationsLocid city state countryPid timeid locid salesTimeid date month quarter year holiday_flagTimesSales第23页,共30页,编辑于2022年,星期六定单号定单号销售员号销售员号客户号客户号产品号产品号日期标识日期标识地区名称地区名称数量数量总价总价定单号定单号定货日期定货日期客户号客户号客户名称客户名称客户地址客户地址销售员号销售员号姓名姓名城市城市产品号产品号产品名称产品名称单价单价日期标识日期标识日日月月年年地区名称地区名称省省事实表事实表星型模式星型模式第24页,共30页,编辑于2022年,星期六定单号定单号销售员号销售员号客户号客户号产品号产品号日期标识日期标识地区名称地区名称数量数量总价总价定单号定单号定货日期定货日期客户号客户号客户名称客户名称客户地址客户地址销售员号销售员号姓名姓名城市城市产品号产品号产品名称产品名称单价单价日期标识日期标识日日月月年年地区名称地区名称省省事实表事实表雪花模式雪花模式产品号产品号公司代码公司代码公司代码公司代码公司名称公司名称地址地址第25页,共30页,编辑于2022年,星期六五、五、SQL Server 2000 数据仓库工具数据仓库工具数据转换服务数据转换服务(DTS)用于向数据仓库中加载数据用于向数据仓库中加载数据数据复制数据复制 用于分布式数据仓库分布和加载数据用于分布式数据仓库分布和加载数据OLE DB 提供应用程序与数据源的接口提供应用程序与数据源的接口APIAnalysis Service 用于采集和分析数据仓库中的数据用于采集和分析数据仓库中的数据English Query 提供使用英语语言查询数据仓库提供使用英语语言查询数据仓库Meta Data Service 浏览数据仓库中的元数据浏览数据仓库中的元数据PivotTable服务服务 用于定制操作多维数据的客户端接口用于定制操作多维数据的客户端接口第26页,共30页,编辑于2022年,星期六 在数据仓库或者数据市场中的信息可以由联机分析在数据仓库或者数据市场中的信息可以由联机分析(OLAP)处理,处理,OLAP可以有效地以由维度和度量组成的立可以有效地以由维度和度量组成的立方体方式查看数据。然而,存在着这种问题:虽然方体方式查看数据。然而,存在着这种问题:虽然OLAP合合计是在数据仓库中可以达到的查询性能的关键因素,但是计是在数据仓库中可以达到的查询性能的关键因素,但是存储这些合计数据的成本是磁盘存储量。事实上,合计数存储这些合计数据的成本是磁盘存储量。事实上,合计数据量可以轻易地超过原有的数据量。另外,当维度和合计据量可以轻易地超过原有的数据量。另外,当维度和合计量提高时,所要求的量提高时,所要求的OLAP数据存储量也大大地提高。这数据存储量也大大地提高。这种对存储量的极大要求一般称为种对存储量的极大要求一般称为数据爆炸数据爆炸。OLAP描述描述的是一种多维数据服务,这种服务的设计目的是保证的是一种多维数据服务,这种服务的设计目的是保证分析员、经理和决策者针对特定的问题,通过快速、分析员、经理和决策者针对特定的问题,通过快速、一致、交互式的实时数据访问和分析,获得有创意的一致、交互式的实时数据访问和分析,获得有创意的发现。发现。第27页,共30页,编辑于2022年,星期六 在在SQL Server 2000中,有中,有3种用于存储数据仓库中维度种用于存储数据仓库中维度数据的方法,每一种方法都随其数据存储要求和其数据检索速数据的方法,每一种方法都随其数据存储要求和其数据检索速度而变化。度而变化。(l)MOLAP:多维型:多维型OLAP在一个用于压缩索引的永在一个用于压缩索引的永久数据存储中存储维度数据和事实数据。合计存储用来加久数据存储中存储维度数据和事实数据。合计存储用来加快数据访问。快数据访问。MOLAP查询引擎是专有的,并且优化成由查询引擎是专有的,并且优化成由MOLAP数据存储使用的存储格式。数据存储使用的存储格式。MOLAP提供了比提供了比ROLAP更快的查询处理速度,并且要求更少的存储空间。更快的查询处理速度,并且要求更少的存储空间。然而,它不能较好地伸缩,并且要求使用单独的数据库然而,它不能较好地伸缩,并且要求使用单独的数据库来存储。来存储。第28页,共30页,编辑于2022年,星期六 (2)ROLAP:关系型:关系型OLAP在关系型数据表中存储合在关系型数据表中存储合计。计。ROLAP针对关系型数据库的应用允许其利用已有的数针对关系型数据库的应用允许其利用已有的数据库资源,并且允许据库资源,并且允许R OLAP应用程序很好地伸缩。然而,应用程序很好地伸缩。然而,ROLAP使用表存储合计则要求比使用表存储合计则要求比MOLAP更多的磁盘空间,更多的磁盘空间,速度相对比较慢。速度相对比较慢。第29页,共30页,编辑于2022年,星期六 (3)HOLAP:正如其名称所示,混合型:正如其名称所示,混合型HOLAP介于介于MOLAP和和ROLAP之间。像之间。像ROLAP一样,一样,HOLAP将主数将主数据存储在源数据库中。像据存储在源数据库中。像MOLAP一样,一样,HOLAP把合计把合计存储在一个永久性数据存储的地方,它与主关系数据库分开。存储在一个永久性数据存储的地方,它与主关系数据库分开。这种混合形式使这种混合形式使HOLAP可以具备可以具备MOLAP和和ROLAP两者两者的优点。的优点。第30页,共30页,编辑于2022年,星期六