数据仓库技术与联机分析处理DataWarehouseOLAP.ppt
数据仓库技术与联机分析处理DataWarehouseOLAP Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望数据库处理的两大应用数据库处理的两大应用联机事务处理联机事务处理(OLTP)决策支持系统决策支持系统(DSS)数据库处理的两大应用数据库处理的两大应用联机事务处理联机事务处理(OLTP)操作型处理,为企业的特定应用服务操作型处理,为企业的特定应用服务是对数据库的联机的日常操作,通常是对是对数据库的联机的日常操作,通常是对一个或一组记录的查询和修改一个或一组记录的查询和修改人们关心的是响应时间、数据的安全性和人们关心的是响应时间、数据的安全性和完整性完整性决策支持系统决策支持系统(DSS)数据库处理的两大应用数据库处理的两大应用联机事务处理联机事务处理(OLTP)决策支持系统决策支持系统(DSS)分析型处理,用于管理人员的决策分析分析型处理,用于管理人员的决策分析经常需要访问大量的历史数据经常需要访问大量的历史数据数据仓库数据仓库+联机分析处理联机分析处理+数据挖掘数据挖掘(DW+OLAP+DM)DSS数据仓库数据仓库是一个面向主题的、集成的、非易失的是一个面向主题的、集成的、非易失的(不可修改)且随时间变化的数据集合,(不可修改)且随时间变化的数据集合,用来支持管理人员的决策用来支持管理人员的决策数据仓库的特点数据仓库的特点面向主题面向主题主题是在较高层次上对数据抽象主题是在较高层次上对数据抽象面向主题的数据组织分为两步骤面向主题的数据组织分为两步骤抽取主题抽取主题确定每个主题所包含的数据内容确定每个主题所包含的数据内容每个主题在数据仓库中都是由每个主题在数据仓库中都是由一组关系一组关系表实现的表实现的集成的集成的数据不可更改数据不可更改随时间变化的随时间变化的数据仓库的特点数据仓库的特点 面向主题面向主题数据仓库的特点数据仓库的特点面向主题面向主题集成的集成的数据仓库的数据是从原有的分散数据库数据中抽数据仓库的数据是从原有的分散数据库数据中抽取来的取来的消除数据表述的不一致性(数据的清洗)消除数据表述的不一致性(数据的清洗)数据的综合数据的综合数据不可更改数据不可更改随时间变化的随时间变化的数据仓库的特点数据仓库的特点 集成集成数据仓库的特点数据仓库的特点面向主题面向主题集成的集成的数据不可更改数据不可更改数据仓库的主要数据操作是查询、分析数据仓库的主要数据操作是查询、分析不进行一般意义上的数据更新(过期数据可能被不进行一般意义上的数据更新(过期数据可能被删除)删除)数据仓库强化查询、淡化并发控制和完整性保护数据仓库强化查询、淡化并发控制和完整性保护等技术等技术随时间变化的随时间变化的数据仓库的特点数据仓库的特点数据不可更改数据不可更改数据仓库的特点数据仓库的特点面向主题面向主题集成的集成的数据不可更改数据不可更改随时间变化的随时间变化的不断增加新的数据内容不断增加新的数据内容不断删除旧的数据内容不断删除旧的数据内容定时综合定时综合数据仓库中数据表的数据仓库中数据表的键码键码都包含时间项,以标明都包含时间项,以标明数据的历史时期数据的历史时期数据仓库的特点数据仓库的特点 随时间变化随时间变化数据仓库的结构数据仓库的结构OLTP系统系统RDBMSSybaseVSAMSAP/ERP5-10 年年过去过去详细数据详细数据当前当前详细数据详细数据轻度轻度汇总数据汇总数据高度高度汇总数据汇总数据数据集市数据集市分析型分析型CRM业务指标分析业务指标分析数据仓库数据仓库数据仓库数据仓库数据仓库数据仓库/决策分析系统决策分析系统EXCEL数据仓库的结构数据仓库的结构数据由操作型环境(综合)导入数据仓库数据由操作型环境(综合)导入数据仓库数据具有不同的细节级数据具有不同的细节级早期细节级(过期数据)早期细节级(过期数据)当前细节级当前细节级轻度综合数据级(数据集市)轻度综合数据级(数据集市)高度综合数据级高度综合数据级数据仓库建立的过程数据仓库建立的过程粒度粒度是指数据仓库的数据单位中保存数据的细化或综合是指数据仓库的数据单位中保存数据的细化或综合程度的级别程度的级别粒度级越小,细节程度越高,综合程度越低,回答粒度级越小,细节程度越高,综合程度越低,回答查询的种类越多查询的种类越多粒度影响数据仓库中数据量的大小粒度影响数据仓库中数据量的大小粒度问题是设计数据仓库的一个重要方面粒度问题是设计数据仓库的一个重要方面双重粒度双重粒度在数据仓库的细节级上创建两种粒度在数据仓库的细节级上创建两种粒度短期储存的低粒度(真实档案),满足细节查询短期储存的低粒度(真实档案),满足细节查询具有综合的高粒度(轻度综合),做分析具有综合的高粒度(轻度综合),做分析分割分割是指把数据分散到各自的物理单元中去,以便能分是指把数据分散到各自的物理单元中去,以便能分别独立处理,提高数据处理效率别独立处理,提高数据处理效率是粒度之后的第二个主要设计问题是粒度之后的第二个主要设计问题两个层次的分割两个层次的分割系统层:系统层:DBMS,一种定义,一种定义应用层:开发者,多种定义应用层:开发者,多种定义多种分割的标准多种分割的标准日期:最常用的日期:最常用的地理位置地理位置组织单位组织单位.数据仓库中的数据组织形式数据仓库中的数据组织形式简单堆积简单堆积轮转综合轮转综合数据按一定的格式进行轮转的累加数据按一定的格式进行轮转的累加简化直接简化直接按一定的时间间隔,对数据进行提取,是操作型数据的按一定的时间间隔,对数据进行提取,是操作型数据的一个快照一个快照连续连续把新的快照追加到以前的连续数据上去把新的快照追加到以前的连续数据上去数据仓库中的数据组织形式数据仓库中的数据组织形式简单堆积简单堆积每日由数据库中提取并加工的数据逐天积累堆积每日由数据库中提取并加工的数据逐天积累堆积数据仓库中的数据组织形式数据仓库中的数据组织形式轮转综合轮转综合数据按一定的格式进行轮转的累加数据按一定的格式进行轮转的累加数据仓库中的数据组织形式数据仓库中的数据组织形式简单堆积与轮转综合的比较简单堆积与轮转综合的比较数据仓库中的数据组织形式数据仓库中的数据组织形式简化直接简化直接按一定的时间间隔,对数据进行提取,是操作型数据的按一定的时间间隔,对数据进行提取,是操作型数据的一个快照一个快照数据仓库中的数据组织形式数据仓库中的数据组织形式连续连续把新的快照追加到以前的连续数据上去把新的快照追加到以前的连续数据上去数据仓库的数据追加数据仓库的数据追加数据追加数据追加数据仓库的数据初装完成以后,再向数据仓库输入数据数据仓库的数据初装完成以后,再向数据仓库输入数据的过程称为的过程称为数据追加数据追加变化数据的捕获变化数据的捕获时标法:加标识时标法:加标识DELTA法:对更新作记录法:对更新作记录前后映象法:两次快照的对比前后映象法:两次快照的对比日志法日志法:利用:利用DBMS的日志,需改进的日志,需改进数据库的体系化环境数据库的体系化环境是在一个企业或组织内部,由各面向应用的是在一个企业或组织内部,由各面向应用的OLTP数据库及各级面向主题的数据仓库所组成的完整的数据库及各级面向主题的数据仓库所组成的完整的数据环境数据环境操作型环境、分析型环境操作型环境、分析型环境四层体系化环境四层体系化环境操作型环境操作型环境OLTP全局级全局级数据仓库数据仓库部门级部门级局部仓库局部仓库个人级个人级个人仓库,用于启发式的分析个人仓库,用于启发式的分析数据集市(数据集市(Data Mart)特定的、面向部门的小型数据仓库特定的、面向部门的小型数据仓库是为满足用户特定需求而创建的数据仓库是为满足用户特定需求而创建的数据仓库是数据仓库的子集是数据仓库的子集数据库的体系化环境数据库的体系化环境数据库的体系化环境数据库的体系化环境数据仓库的开发生命周期数据仓库的开发生命周期数据仓库的基本数据模式数据仓库的基本数据模式星型模式星型模式(Star Schema)事实表事实表(fact table),存放基本数据,相关主题的,存放基本数据,相关主题的数据主体(数据主体(BCNF)维维(dimension),影响、分析主体数据的因素,影响、分析主体数据的因素量量(measure),事实表中的数据属性,事实表中的数据属性维表维表(dimension table),表示维的各种表,表示维的各种表维是量的取值条件,维用外键表示维是量的取值条件,维用外键表示以事实表为中心,加上若干维表,组成星型数据以事实表为中心,加上若干维表,组成星型数据模式模式例:产品例:产品-商店商店-销售额销售额数据仓库的基本数据模式数据仓库的基本数据模式CustSalesLocationSalesProdSalesTimeSalesSalestime idproduct idlocation idcustomer idsales revenueunits soldProductproduct idmakemodelTimetime iddateyearquartermonthweekLocationlocation idregiondistrictstoreCustomercustomer idcategorygroupSales factSales measuresTime dimensionAttributes of the time dimension数据仓库的基本数据模式数据仓库的基本数据模式雪花模式雪花模式(Snowflake Schema)维一般是由若干层次组成维一般是由若干层次组成把维按其把维按其层次层次结构表示成若干个表结构表示成若干个表规范化、节省存储空间规范化、节省存储空间但需多做连接操作但需多做连接操作数据仓库的解决方案数据仓库的解决方案通用的关系数据库系统通用的关系数据库系统专门的数据仓库服务器专门的数据仓库服务器数据仓库系统的体系结构数据仓库系统的体系结构数据仓库层数据仓库层数据仓库工具层数据仓库工具层最终用户最终用户数据仓库系统数据仓库系统数据仓库数据仓库居系统的核心地位居系统的核心地位是信息挖掘的基础是信息挖掘的基础数据仓库管理系统数据仓库管理系统是整个系统的引擎是整个系统的引擎负责管理整个系统的运转负责管理整个系统的运转数据仓库工具数据仓库工具一般的查询工具、功能强大的分析工具一般的查询工具、功能强大的分析工具是整个系统发挥作用的关键是整个系统发挥作用的关键数据仓库系统数据仓库系统一个集成化的产品集一个集成化的产品集数据仓库系统数据仓库系统lDesignlWarehouse ArchitectlManagelSybase ASIQlIntegratelInformatica lEnterprise ConnectlReplication ServerPowerMartPowerMartlVisualizelBriolCognoslAdministerlWarehouse Control CenterWarehouseWarehouseControlControlCentreCentre数据分析模型数据分析模型早期早期静态数据值的相互比较静态数据值的相互比较需求需求从多个不同的数据源中综合数据从多个不同的数据源中综合数据从不同的角度观察数据从不同的角度观察数据多变的主题、多维数据多变的主题、多维数据E-R不能完全支持不能完全支持四种分析模型四种分析模型(Codd)绝对模型绝对模型静态数据分析静态数据分析只能对历史数据进行值的比较,描述基本事实只能对历史数据进行值的比较,描述基本事实用户交互少用户交互少解释模型解释模型思考模型思考模型公式模型公式模型四种分析模型四种分析模型(Codd)绝对模型绝对模型解释模型解释模型静态数据分析静态数据分析在当前多维视图的基础上找出事件发生的原因在当前多维视图的基础上找出事件发生的原因思考模型思考模型公式模型公式模型四种分析模型四种分析模型(Codd)绝对模型绝对模型解释模型解释模型思考模型思考模型动态数据分析动态数据分析多维分析多维分析在决策者的参与下,找出关键变量在决策者的参与下,找出关键变量需要高级数据分析人员的介入需要高级数据分析人员的介入公式模型公式模型四种分析模型四种分析模型(Codd)绝对模型绝对模型解释模型解释模型思考模型思考模型公式模型公式模型动态性最高的一类动态性最高的一类自动完成变量的引入工作自动完成变量的引入工作数据仓库系统的工具层数据仓库系统的工具层查询工具查询工具主要是对分析结果的查询主要是对分析结果的查询很少有对记录级数据的查询很少有对记录级数据的查询验证型工具验证型工具多维分析工具多维分析工具用户首先提出假设,然后利用各种工具通过反复、用户首先提出假设,然后利用各种工具通过反复、递归的检索查询以验证或否定假设递归的检索查询以验证或否定假设发掘型工具发掘型工具从大量数据中发现数据模式从大量数据中发现数据模式预测趋势和行为预测趋势和行为联机分析处理联机分析处理OLAPOLAP是针对特定问题的联机访问和分析。是针对特定问题的联机访问和分析。通过对信息的很多种可能的观察形式进行快速、稳定通过对信息的很多种可能的观察形式进行快速、稳定一致和交互性的存取,允许分析人员对数据进行深入一致和交互性的存取,允许分析人员对数据进行深入观察观察一些概念一些概念变量变量是数据的实际意义,描述数据是什么是数据的实际意义,描述数据是什么维维是人们观察数据的特定角度是人们观察数据的特定角度维的层次维的层次是维在不同细节程度的描述是维在不同细节程度的描述维成员维成员是维的一个取值是维的一个取值多层次维的维成员是各层次取值的组合多层次维的维成员是各层次取值的组合对应一个数据项,维成员是该数据项在该维中位置的描述对应一个数据项,维成员是该数据项在该维中位置的描述多维数组多维数组可以表示为(维可以表示为(维1,维维2,变量变量),如(地),如(地区区,时间时间,销售渠道销售渠道,销售额销售额)多维数组的取值称为多维数组的取值称为数据单元(单元格)数据单元(单元格)可以理解为交叉表的数据格可以理解为交叉表的数据格一些基本操作一些基本操作在多维数组的某一维选定一个维成员的动作称在多维数组的某一维选定一个维成员的动作称为为切片切片。舍弃一些观察角度舍弃一些观察角度在多维数组的某一维上选定某一区间的维成员在多维数组的某一维上选定某一区间的维成员切块切块多个切片的叠加多个切片的叠加旋转旋转是改变一个报告或页面显示的维方向是改变一个报告或页面显示的维方向以用户容易理解的角度来观察数据以用户容易理解的角度来观察数据基于多维数据库的基于多维数据库的OLAPMOLAP以多维方式组织数据(以多维方式组织数据(综合综合数据)数据)以多维方式显示(观察)数据以多维方式显示(观察)数据多维数据库的形式类似于交叉表,可直观地表多维数据库的形式类似于交叉表,可直观地表述一对多、多对多的关系述一对多、多对多的关系如:产品、地区、销售额如:产品、地区、销售额关系关系多维多维多维数据库由许多经压缩的、类似于数组的对多维数据库由许多经压缩的、类似于数组的对象构成,带有高度压缩的索引及指针结构象构成,带有高度压缩的索引及指针结构以关系数据库存放细节数据、以多维数据库存以关系数据库存放细节数据、以多维数据库存放综合数据放综合数据基于关系数据库的基于关系数据库的OLAPROLAP以以二维表二维表与与多维联系多维联系来表达多维数据(来表达多维数据(综合综合数数据)据)星型结构星型结构事实表,存储事实的量及各维的码值(事实表,存储事实的量及各维的码值(BCNF)维表,对每一个维,至少有一个表用来保存该维维表,对每一个维,至少有一个表用来保存该维的元数据(多层次、冗余)的元数据(多层次、冗余)事实表通过外键与每个维表相联系事实表通过外键与每个维表相联系雪花、星座、雪暴雪花、星座、雪暴模拟多维方式显示(观察)数据模拟多维方式显示(观察)数据MOLAP与与ROLAPMOLAP计算速度较快计算速度较快支持的数据容量较小支持的数据容量较小缺乏细节数据的缺乏细节数据的OLAPROLAP结构较复杂结构较复杂以关系模拟多维以关系模拟多维支持适当细节的支持适当细节的OLAP较成熟较成熟HOLAP是以上两种的综合是以上两种的综合桌面级工具桌面级工具BrioQuery(ROLAP)Business Objects(ROLAP)Cognos Impromptu(ROLAP)Cognos PowerPlay(MOLAP)服务器级服务器级OLAPArbor Software Essbase(MOLAP)MicroStrategy DSS Agent(ROLAP)Oracles Express(hybrid MOLAP/ROLAP)SQL3对聚集的扩展对聚集的扩展(在在Group By中扩展中扩展)SP(S#,P#,QTY)S#P#QTYS1P1300S1P2200S2P1300S2P2400S3P2200S4P2200Select sum(QTY)as TOTQTYFromSP;Select S#,Sum(QTY)as TOTQTYFromSPGroup By S#;.SQL3对聚集的扩展对聚集的扩展(在在Group By中扩展中扩展)Grouping Sets:支持多个分组同时运算:支持多个分组同时运算Select S#,P#,SUN(QTY)as TOTQTYFrom SPGroup By Grouping Sets(S#),(P#)S#P#TOTQTYS1Null500S2Null 700S3Null 200S4Null 200NullP1600NullP21000SQL3对聚集的扩展对聚集的扩展(在在Group By中扩展中扩展)Rollup:上卷:上卷Select S#,P#,SUN(QTY)as TOTQTYFrom SPGroup By Rollup(S#,P#)等同于等同于Group By Grouping Sets(S#,P#),(S#),()S#P#TOTQTYS1P1300S1P2200S2P1300S2P2400S3P2200S4P2200S1Null500S2Null 700S3Null 200S4Null 200NullNull1600SQL3对聚集的扩展对聚集的扩展(在在Group By中扩展中扩展)Cube:立方体(交叉表):立方体(交叉表)Select S#,P#,SUN(QTY)as TOTQTYFrom SPGroup By Cube(S#,P#)等同于等同于Group By Grouping Sets(S#,P#),(S#),(P#),()S#P#TOTQTYS1P1300S1P2200S2P1300S2P2400S3P2200S4P2200S1Null500S2Null 700S3Null 200S4Null 200NullP1600NullP21000NullNull1600数据挖掘数据挖掘(Data Mining)探测型的数据分析探测型的数据分析发现信息、发现知识发现信息、发现知识基于基于人工智能人工智能、机器学习机器学习、统计学统计学由计算机自动智能地分析数据,获取信息,由计算机自动智能地分析数据,获取信息,作出预测或帮助决策作出预测或帮助决策需要需要算法的支持算法的支持和机器的环境和机器的环境数据挖掘数据挖掘的常用方法的常用方法决策树方法决策树方法利用信息论中的互信息,寻找数据库中具利用信息论中的互信息,寻找数据库中具有最大信息量的属性字段,建立决策树的有最大信息量的属性字段,建立决策树的节点,再根据该属性字段的不同取值建立节点,再根据该属性字段的不同取值建立树的分支树的分支在每个分支子集中重复建立下层节点和分在每个分支子集中重复建立下层节点和分支支数据挖掘数据挖掘分析方法分析方法关联分析关联分析为了挖掘出隐藏在数据间的相互关系为了挖掘出隐藏在数据间的相互关系支持度支持度/置信度作为输入的条件,进行筛选、分析置信度作为输入的条件,进行筛选、分析序列模式分析序列模式分析类似与关联分析类似与关联分析着重于分析数据的前因后果着重于分析数据的前因后果分类分析分类分析对于不同分类的数据进行分析,找出他们的规律、对于不同分类的数据进行分析,找出他们的规律、特征特征聚类分析聚类分析是分类的逆过程是分类的逆过程根据数据特征,进行分类根据数据特征,进行分类数据挖掘数据挖掘的步骤的步骤数据准备数据准备数据集成数据集成数据选择和预分析数据选择和预分析挖掘挖掘利用前述的方法对数据进行分析利用前述的方法对数据进行分析表述表述利用可视化工具,将结果展现给分析员利用可视化工具,将结果展现给分析员评价评价评估结果,递归上述过程评估结果,递归上述过程数据挖掘数据挖掘与与OLAP都属于分析型工具都属于分析型工具DM是挖掘型工具是挖掘型工具DM试图自动地发现隐藏在数据中的模式或试图自动地发现隐藏在数据中的模式或规律规律OLAP是验证型工具是验证型工具OLAP更多地依赖于用户的输入和假设更多地依赖于用户的输入和假设两者相辅相成,互补两者相辅相成,互补以以DM挖掘潜在的模式、预测未来趋势挖掘潜在的模式、预测未来趋势以以OLAP来验证来验证DM的结果的结果