1、数据仓库和数据挖掘deOLAP技术苟清龙苟清龙2002年年9月月第一节 从数据库到数据仓库oOLTP不适于DSS应用o数据仓库的定义及其特征o数据仓库的数据组织o数据仓库的体系化环境OLTP不适于DSS应用1.事务处理的性能特性不同2.数据集成问题事务处理应用分散“蜘蛛网”问题数据不一致问题外部数据和非结构化问题3.数据动态集成问题4.历史数据问题5.数据的综合问题什么是数据仓库o数据仓库是一个用以更好地支持企业或组织的决策分析处理的、面向对象主题的、集成的、不可更新的、随时间不断变化的数据集合。操作型数据和分析型数据的区别操作型数据分析型数据细节的综合的,或提炼的在存取时刻是准确的代表过去的
2、数据可更新不更新操作需求事先可知道操作需求事先不知道对性能要求高对性能要求宽松生命周期符合SDLC完全不同的生命周期一时刻操作一单元一时刻操作一集合事务驱动分析驱动面向应用面向分析一次操作数据量小一次操作数据量大支持日常操作支持管理需求数据仓库的四个特性o面向主题的o集成的o随时间不断变化的o不可更新的数据仓库数据的面向主题性o什么是主题?o面向主题的例子o面向主题的性质o面向主题的实现方式o面向主题的实现示例o主题域及其特性什么是主题?o主题是一个抽象的概念,是在较高层次上将企业信息综合、归类,并进行分析利用的抽象;o在逻辑意义上,他是对企业中某一宏观领域所涉及的分析对象;o面向主题的数据组
3、织方式,就是在较高层次上对分析对象的数据一个完整、一致的描述,能完整、统一地刻画各个分析对象所涉及的企业的各项数据,以及数据之间的联系。一个传统OLTP环境下的数据库模式示例o采购子系统u定单(定单号,供应商号,总金额,日期)u定单细则(定单号,商品号,类别,单价,数量)u供应商(供应商号,供应商名,地址,电话)p销售子系统u顾客(顾客号,姓名,年龄,文化程度,地址,电话)u销售(员工号,顾客号,商品号,数量,单价,日期)一个传统OLTP环境下的数据库模式示例(续)o库存管理子系统u领料单(领料单号,领料人,商品号,数量,日期)u进料单(进料单号,定单号,进料人,收料人,日期)u库存(商品号,
4、库房号,库存量,日期)u库房(库房号,库房管理员,地点,库存商品描述)o人事子系统u员工(员工号,姓名,性别,年龄,文化程度,部门号)u部门(部门号,部门名称,部门主管,电话)一个传统OLAP环境下的数据库模式示例o商品u商品固有信息:商品号,商品名,类别,颜色等;u商品采购信息:商品号,供应商号,供应价,供应量,供应日期等;u商品销售信息:商品号,顾客号,售价,销售量,销售日期等;u商品库存信息:商品号,库房号,库存量,日期等。一个传统OLAP环境下的数据库模式示例(续)o供应商u供应商固有信息:供应商号,供应商名,地址,电话等;u供应商品信息:供应商号,商品号,供应价,供应日期,供应量等。
5、p顾客u顾客固有信息:顾客号,顾客名,性别,年龄,文化程度,地址,电话等。u顾客购物信息:顾客号,商品号,售价,购买日期,购买量等。面向主题数据组织模式的说明u在从面向应用到面向主题的转变过程中,丢弃了原来有的但不必要的、不适于分析的信息;u在原有的数据库模式中,有关商品的信息分散在各个子系统之中;面向主题的数据组织方式所强调的就是要形成关于主题一致的信息集合;u不同主题之间有重叠内容。主题的实现o两种主题实现方式u多维数据库u关系数据库u在具体实现中,一个主题可划分为多个表,主题只是一个逻辑概念。主题实现的范例o主题:商品o公共码键:商品号u商品表1(商品号,商品名,类型,颜色,)/*商品固
6、有信息*/u采购表1(商品号,供应商号,供应日期,供应价,采购量,)/*商品采购的细节描述*/u采购表2(商品号,时间段,采购总量,)/*某时段商品采购信息*/uu采购表n(,)/*时间段不等的采购综合表*/主题实现的范例(续)u销售表1(商品号,顾客号,销售日期,售价,销售量,)/*商品销售细节信息*/u销售表2(商品号,时间段,销售总量,)/*某时段内商品销售信息*/u销售表n(,)/*时段不等的销售综合表*/u库存表1(商品号,库房号,库存量,日期,)/*商品库存述细节信息*/u库存表2(商品号,库房号,库存量,月份,)/*每月月底的商品库存信息*/u库存表n(,)/*时点不同的商品库存
7、信息*/主题域o面向主题的数据组织方式根据分析要求将数据组织成一个完整的分析领域,即主题域。o主题域的特性:独立性u一个主题域可以和其他主题有交叉部分,但他必须有独立内涵,即要求有明确的界限规定数据是否属于该主题。完备性u对一个主题的任意分析处理要求,都能在该主题内找到该处理要求的一切内容。数据仓库的数据集成性o涵义:数据仓库的数据是从原有的分散数据库数据中抽取集成而来的。o问题:操作型数据与分析型数据的差别o需要完成的工作要统一数据库中所有的矛盾,如字段的同名异义,异名同义,单位不统一,字长不一致等;进行数据综合和计算。数据仓库数据的不可更新性u数据仓库的数据主要提供企业决策分析之用,所涉及
8、的数据操作主要是数据查询,一般情况不进行修改操作。数据仓库数据的时变性u数据仓库随时间变化不断增加新的数据内容;u数据仓库随时间变化不断删去旧的数据内容;u数据仓库中含有大量的综合数据,这些数据随时间变化不断进行重新组合。数据仓库的数据组织o数据仓库的数据组织结构图o元数据o粒度与分割o数据仓库的数据组织形式o数据仓库的数据追加数据仓库的数据组织结构元数据高度综合级轻度综合级当前细节级早期细节级元数据o元数据:关于数据的的数据oDW中的两种元数据为从操作型环境向DW环境转换而建立的元数据,在DW中用来与终端用户的多维商业模型/前端工具之间建立映射的元数据。粒度o第一种粒度:对数据仓库中的数据综
9、合程度高低的度量,它影响数据仓库中数据量的多少,也影响所能回答问题的种类。o第二种粒度:样本数据库采样率的高低。(采样粒度不同的样本数据库可以有相同级别的综合级别。)分割o将数据分散到各自的物理单元中去以便能分别独立处理,以提高处理效率,数据分割后的数据单元称为分片。o分割的一个例子健康保险生命保险 事故保险1988分片1分片2分片31989分片4分片5分片61990分片7分片8分片9数据仓库的数据组织形成简单堆积文件轮转综合文件(如股市)简化直接文件(按一定时间间隔对数据库采样)连续文件数据仓库的数据追加o时标方法oDELTA文件o前后映象文件的方法o日志文件数据库体系化环境o什么是数据库体
10、系化环境?o四层体系化环境o数据集市什么是数据库体系化环境o数据库体系化环境是在一个企业或组织内,由各面向应用的OLTP数据库及各级面向主题的数据仓库所组成的完整的数据环境,在这个数据环境上建立和进行一个企业或部门的从联机事务处理到企业管理决策的所有应用。o两个组成部分:u操作型环境u分析型环境四层体系化环境操作型环境数据仓库局部仓库个人仓库全局级部门级个人级(1)操作型环境:存放细节操作性数据,服务于高性能事务处理。(2)全局级DW:存放细节数据,以及大量导出数据。(3)部门级DW:一般仅包含导出数据。(4)个人级DW:都是暂时的,用于启发式分析。数据集市全局数据仓库数据再抽取与集成采购子系
11、统销售子系统库存子系统人事管理财务子系统数据抽取数据抽取数据抽取数据抽取数据抽取DATA MART第二节 数据仓库设计o数据仓库系统设计方法概述oDW 设计的三级数据模型o提高DW性能o数据仓库中的元数据o数据仓库的设计步骤数据仓库系统设计方法概述oDWS与DBS设计的不同之处oSDLC与CLDS方法比较o“数据驱动”系统设计方法的基本思路o数据模型是数据驱动设计方法的中心oDW系统设计是一个动态反馈循环过程oDW的三级数据模型o提高DW的性能DWS与DBS设计的不同之处o面向处理类型不同o面向需求不同o系统设计的目标不同o两者的数据来源或系统的输入不同o系统设计方法和步骤不同SDLC与CLD
12、S方法比较收集应用需求分析应用需求构建数据库应用编程系统测试系统实施DB应用A应用B应用C数据仓库建模数据获取与集成构建数据仓库DSS应用编程系统测试理解需求DWDBDB外部数据“数据驱动”系统设计方法的基本思路o“数据驱动”系统设计方法的思路就是利用以前所取得的工作成果来进行系统建设。oDW的设计是从已有的DB系统出发,按照分析领域对数据及数据之间的联系重新考察、组织DW中的主题。o系统设计方法的中心是利用数据模型有效地识别原有的数据库中的数据和数据仓库中主题的数据的“共同性”。数据模型是数据驱动设计方法的中心操作型环境设计操作型处理应用开发与设计DBDBDB数据仓库设计DSS应用开发与设计
13、DW数据模型DW系统设计是一个动态反馈循环过程oDW的数据内容、结构、粒度、分割以及其他物理设计根据用户所返回的信息不断调整、完善,以提高系统的效率和性能。o通过不断的理解用户的分析需求,向用户提供更准确,更有用的决策信息。DW与DB三级数据模型的区别oDW的数据模型不包含纯操作型数据;oDW的数据模型扩充了码结构,增加了时间属性作为码的一个部分;oDW的数据模型中增加了一些导出数据。DW的三级数据模型o概念模型o逻辑模型o物理模型高级模型、中级模型和低级模型o高级模型:即E-R图;o低级模型:即物理数据模型o中级模型:称为数据项(dis-data item set)Dis中的数据组o联接数据
14、组:主要用于本主题域与其他主题域之间的联系,体现E-R图中实体之间的关系。o基本数据组o二级数据组o类数据组提高DW的性能o粒度划分o分割o其他问题粒度划分o粒度划分的决定因素并非总的数据量,而是总的行数。o划分步骤o(1)估算DW中数据行数和所需的DASD(Direct Access Storage Device)数。o(2)根据估算算出的数据行数和DASD,决定是否划分粒度,如果要,如何划分。分割o核心:选择适当的分割标准o考虑因素:o数据量、数据分析处理的实际情况、简单易行、粒度划分数据仓库物理设计中的其他一些问题o合并表o建立数据序列o引入冗余o表的物理分割o生成导出数据o建立广义索引
15、第三节 数据操作存储(ODS)oODS的定义与特点oODS的功能oODS与DW的区别oDB-ODS-DW三层体系结构ODS的定义与特点oODS是用于支持企业日常的全局应用的数据集合。保存在ODS中的数据具有四个基本特点:o(1)面向主题的o(2)集成的o(3)可变的o(4)数据是当前或接近当前的ODS的功能o进行企业级的联机事务处理;o“即时OLAP”数据处理。ODS与DW的区别操作数据存储ODS数据仓库DW当前或接近当前的数据细节数据可联机更新历史数据细节数据和综合数据不可变快照DB-ODS-DW三层体系结构DW分析型环境ODSDBDBDB应用操作型环境第四节 数据仓库工具o数据仓库体系结构
16、oOLTP的基本概念o多维分析的基本分析动作oOLAP 的准则oOLAP实现数据仓库体系结构示意图数据库系统和数据仓库系统结构的比较数据库系统数据仓库系统数据库:操作型数据 增、删、改操作频繁数据仓库:分析型数据 极少有更新操作数据库核心:功能强大 面向OLTP应用数据仓库管理系统:因极少有更新操作,故功能简单数据库工具:以查询工具为主数据仓库工具:以分析工具为主。OLAP的基本概念o变量u变量是数据的实际意义。即描述数据“是什么”。o维u维是人们观察数据的特定角度。如时间维、地理维。OLAP的基本概念o维的层次o人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的多个描述方面,我们
17、称这个描述方面为维的层次。如:时间维:日期月份季度年 地理维:城市地区国家OLAP的基本概念o维成员u维的一个取值称为该维的一个维成员。若一个维是多层次的,那么该维的维成员是在不同层次的取值组合。例:时间维:日期、月份、年 维成员:某年某月某日、某年某月、某年u对应一个数据项来说,维成员是该数据项在某维中位置的描述。例:对一个销售数据而言,时间维成员“某年某月某日”就表示该销售数据是“某年某月某日”的销售数据,“某年某月某日”是该销售数据在时间维位置的描述。OLAP的基本概念o多维数组u一个多维数组可以表示为:(维1,维2,维3,维n,变量)例:(地区,时间,销售渠道,销售额)OLAP的基本概
18、念o数据单元u多维数组的取值称为数据单元。例:多维数组:(地区,时间,销售渠道,销售额)数据单元:(北京,2002年7月,批发,1000)多维分析的基本分析动作o切片(Slice)u定义1:在多维数组的某一个维上选定一维成员的操作称为切片。即在多维数组(维1,维2,维3,维n,变量)中选取一维,设为维i,并取其一维成员(设为“维成员Vi”),所得多维数组的子集(维1,维成员Vi,维n,变量)称为维i上的一个切片。例:多维数组:(地区,时间,产品,销售额)一个切片:(地区,2002年9月,产品,销售额)多维分析的基本分析动作o切片(Slice)o定义2:选定多维数组的一个二维子集的动作叫作切片,
19、即选取多维数组(维1,维2,维3,维n,变量)中的两个维,维i和维j,在这两个维上取某一区间或任意维成员,而将其余的维取定一个维成员,则得到的是一个多维数组在维i和维j上的二维子集,称这个二维子集为多维数组在维i和维j上的一个切片,表示为(维i,维j,变量)多维分析的基本分析动作o切块u定义1:在多维数组的某一维上选定某一区间的维成员动作称为切块,即限制多维数组在某一维上的取值空间。u定义2:选取多维数组的一个三维子集的动作称为切块,即选定多维数组(维1,维成员Vi,维n,变量)中的三个维:i,j,r,在这三个维上某一区间或任意维成员,而将其余的维都取定一个维成员则得到的就是多维数组在维i、维
20、j和维r上的一个三维子集,我们称这个三维子集为多维数组在维i、维j和维r上的一个切块,表示为:(维i,维j,维r,变量)。多维分析的基本分析动作o旋转u旋转即是改变一个报告或页面显示的维方向。u旋转示例时间维产品维行列交换产品维时间维(a)多维分析的基本分析动作u旋转示例(续)北京上海地区销售量销售量产品:时间第一季度第二季度第一季度 第二季度北京地区时间产品上海:将某行维换向列维(b)多维分析的基本分析动作u旋转示例(续)时间维产品维地区维时间维地区维产品维旋转以改变页面显示(c)多维分析的基本分析动作o上钻(drill-up)u上钻操作通过一个维的概念分层向上攀升或者通过维归约,在数据方体
21、上进行聚集。o下钻(drill-down)u下钻是上钻的逆操作,它有不太详细的数据到更详细的数据。下钻可以通过沿维的概念分层向下或引入新的维来实现。OLAP 的准则oOLAP模型必须提供多维概念视图o透明性准则o存取能力推测o稳定的报表能力o客户/服务器体系结构o维的等同性准则o动态的稀疏矩阵处理准则o多用户支持能力准则o非受限的跨维操作o直观的数据操纵o灵活的报表生成o不受限的维与聚集层次 OLAP实现o基于多维数据库的OLAP实现o基于关系数据库的OLAP实现RDBMS与MDDB数据组织比较产品名称地区销售量冰箱冰箱冰箱彩电彩电彩电空调空调空调东北西北华北东北西北华北东北西北华北50601
22、0040708090120140东北 西北 华北冰箱空调彩电 50 60 100 40 70 80 90 120 140(a)(b)RDBMS与MDDB在综合数据存放上的比较产品名称地区销售量冰箱冰箱冰箱冰箱彩电彩电彩电彩电空调空调空调空调总和总和总和总和东北西北华北总和东北西北华北总和东北西北华北总和东北西北华北总和506010021040708019090120140350180250320750东北 西北 华北 总和冰箱空调彩电总和 50 60 100 210 40 70 80 190 90 120 140 350180 250 320 750(b)(a)RDBMS与MDDB比较u关系数
23、据库采用关系来表达某产品在某地区的销售情况,而多维数据库中的数据组织形式采用了二维矩阵的形式。显然,二维矩阵比关系表达更清晰而且占用存储少。u关于综合数据:对关系表而言,当数据苦太大时,预先处理计算各种综合需要的时间过长,并且这样会破坏列定义的统一语义。u由于在MDDB中,数据可以直接按行或列累加,并且由于MDDB不象关系表那样重复出现产品和地区信息,因此其统计速度远超过RDBMS。维的层次关系地区总和西北地区东北地区华北地区简单层次关系的层次图维的层次关系地区总和辽宁省华北地区东北地区西北地区沈阳市大连市黑龙江省吉林省维的层次关系产品维时间维西北陕西甘肃:宁夏东北黑龙江吉林辽宁沈阳大连 有关
24、维的层次信息需要放在元数据中,这样系统在进行各种综合查询时,就能通过元数据的信息区分不同的维层次,从而正确的执行查询。类u类是指按一定的划分标准对维成员全集的一个分类划分。用集合论的概念来讲,设全体维成员为一个全集,则类是该全集的一个划分。产品维东北 西北 华北华南东北 西北 华北华南按“产品”销地划分 按“产品”产地划分维层次关系类划分1类划分2维层次和类的区别u层次和类表达的意义不同 维层次表达的是维所描述的变量的不同综合层次。维层次越高,对应综合层次越高,粒度也越大。维层次越多,粒度层次也越丰富。表现在层次图中,父子结点的关系就是层次关系。维成员的类表达则是某一子集维成员的共同特征。这个
25、共同特征由类属性的某一个值来表征。表现在层次图中,父子结点之间不存在类的关系,同一层次的维成员才可以划分为类。维层次和类的区别u在层次和类上进行的分析动作不同u在维层次关系上进行的分析主要有上卷和下钻两种,其分析路径就是层次图中从根到叶或从叶到根的一条路径。u按照维成员的类进行的分析主要有两个目的:分类和归纳。即首先选择某个属性来对维成员的全集进行分类,然后再在分类的基础上归纳总结出类的共同特征(或一类别区别与他类的特征)。表现在层次图上,按照维成员的类进行的分析是对兄弟结点之间的关系的分析,因此不可能跨越不同的层次。u实际分析中,两种分析经常交叉组合在一起。时间序列数据类型u与其他维不同,时
26、间维包含着特有的周期,不同的周期之间存在着转化规则。u按照时间顺序排列的一系列的数据称为时间序列数据。u时间序列模型的优点存放在一个数据单元中的时间序列数据已经包含了时间信息,因而可以省去时间维,简化了对时间的处理。多维数据库对数据单元的数目是有限制的,采用时间序列类型可以大大减少多维数据库数据单元的数目。时间序列数据存储ddddddd dddddddweek weekweek weekddddddd dddddddweek weekddddddd dddddddweek weekweek weekddddddd dddddddddddddd dddddddddddddd dddddddddd
27、dddd dddddddddddddd dddddddddddddd dddddddddddddd dddddddddddddd ddddddd产品地区维东北西北华北总销量(日)彩电冰箱空调 各地区总和(周)基于关系数据库的OLAP实现u关系数据库将多维结构划分为两类表,即事实表与维表。u事实表:用来存储事实的度量值及各个维的码值。u维表:对每一个维而言,至少有一个用来保存该维的元数据,即维的描述信息包括维的层次及成员类别等。基于关系数据库的OLAP实现o“星形模式”u事实表是通过每一个维的值和维表联系在一起的,该结构称为“星形”模式。Time_keyItem_keyBranch_keyLoc
28、ation_keyDollars_soldUnits_soldTime_keyDayDay_of_the_weeKmonthquarteryearBranch_keyBranch_nameBranch_typeItem_keyItem_namebrandtypeSupplier_typecountryProvince_or_statecitystreetLocation_key基于关系数据库的OLAP实现o“雪片”模式u实际应用中,数据的维往往不仅只有一个维层次,并且,当维的层次与类组合在一起将构成一个复杂的维。对于维内层次复杂的维,用一张维表来描述会带来过多的冗余数据。为此,采用多张表来描述
29、一个复杂的维,这样,“星形”模式演变为“雪片”模式。基于关系数据库的OLAP实现o“雪片”模式Time_keyItem_keyBranch_keyLocation_keyDollars_soldUnits_soldTime_keyDayDay_of_the_weeKmonthquarteryearBranch_keyBranch_nameBranch_typeItem_keyItem_namebrandtypeSupplier_keycountryProvince_or_stateCity_keystreetLocation_keycityCity_keySupplier_typeSupplier_key
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。