您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 数据仓库与数据挖掘-OLAP的数据模型与实现方式
2020/4/251•数据仓库与数据挖掘-OLAP的数据模型2020/4/252OLAP的数据模型•MOLAP数据模型•ROLAP数据模型•MOLAP与ROLAP的比较•HOLAP数据模型2020/4/253MOLAP的数据模型•MOLAP是基于多维数据库存储方式建立的OLAP;表现为“超立方”结构,采用类似于多维数组的结构。如,二维MDDB(数组,即矩阵)的数据组织如下所示。北京上海广州衣服600700500鞋800900700帽子100200802020/4/254MOLAP的原理OLAPServeruserWarehouseQueryDataMDDBPeriodicload2020/4/255多维数据模型•数据立方体sales中每格的度量可以看作是关联Product、Region和Month的函数ProductMonth涉及的维:Product,Location,Time属性的层次结构和格结构IndustryRegionYearCategoryCountryQuarterProductCityMonthWeekOfficeDay2020/4/256ROLAP数据模型•ROLAP是基于关系数据库的OLAP。它是一个平面结构,用关系数据库表示多维数据时,采用星型模型。产品名地区销售量衣服北京600衣服上海700衣服广州500鞋北京800鞋上海900鞋广州700帽子北京100帽子上海200帽子广州802020/4/257星型模式的例子time_keydayday_of_the_weekmonthquarteryeartime维表location_keystreetcityprovince_or_streetcountrylocation维表Sales事实表time_keyitem_keybranch_keylocation_keyunits_solddollars_soldavg_sales各种度量item_keyitem_namebrandtypesupplier_typeitem维表branch_keybranch_namebranch_typebranch维表2020/4/258OLAPServeruserWarehouseDatacacheLivefetchCacheQueryDataROLAP的原理2020/4/259MOLAP与ROLAP的比较•1.数据存取速度•2.数据存储的容量•3.多维计算的能力•4.维度变化的适应性•5.数据变化的适应性•6.软硬件平台的适应性•7.元数据管理2020/4/25101.数据存取速度•ROLAP服务器需要将SQL语句转化为多维存储语句,临时“拼合”出多维数据立方体。因此,ROLAP的响应时间较长。•MOLAP在数据存储速度上性能好,响应速度快。2020/4/25112.数据存储的容量•ROLAP使用的传统关系数据库的存储方法,在存储容量上基本没有限制。•MOLAP通常采用多平面叠加成立体的方式存放数据。•当数据量超过操作系统最大文件长度时,需要进行数据分割。•多维数据库的数据量级难以达到太大的字节级。2020/4/25123.多维计算的能力•MOLAP能够支持高性能的决策支持计算。•ROLAP无法完成多行的计算和维之间的计算。2020/4/25134.维度变化的适应性•MOLAP增加新的维度,则多维数据库通常需要重新建立。•ROLAP对于维表的变更有很好的适应性。2020/4/25145.数据变化的适应性•当数据频繁的变化时,MOLAP需要进行大量的重新计算,甚至重新建立索引乃至重构多维数据库。•在ROLAP中灵活性较好,对于数据变化的适应性高。2020/4/2515软硬件平台的适应性与元数据•6.软硬件平台的适应性ROLAP对软硬件平台的适应性很好,而MOLAP相对较差。•7.元数据管理目前在元数据的管理,MOLAP和ROLAP都没有成形的标准。2020/4/2516HOLAP数据模型•HOLAP(HybridOLAP),即混和OLAP介于MOLAP和ROLAP之间。在HOLAP中,对最常用的维度和维层次,使用多维数据表来存储,对于用户不常用的维度和数据,采用ROLAP星型结构来存储。•在HOLAP的多维数据表中的数据维度少于OLAP中的维度表,数据存储容量也少于MOLAP方式。•HOLAP在数据存取速度上又低于MOLAP。2020/4/2517HOLAP的原理OLAPServeruserWarehouseFetch,cacheMDDBandcachePeriodicloadQueryData2020/4/2518多维数据的显示•多维数据显示方法•多维类型结构(MTS)•多维数据的分析视图2020/4/2519多维数据显示方法•三维数据显示如下表所示。产品名地区时间销售量衣服北京1月100衣服北京2月200衣服北京3月300衣服上海1月200衣服上海2月300衣服上海3月400衣服广州1月150衣服广州2月250衣服广州3月300鞋北京1月150鞋北京2月300鞋北京3月350鞋上海1月200鞋上海2月300鞋上海3月400鞋广州1月150鞋广州2月250鞋广州3月300…………•多维数据的显示只能在平面上展现出来。三维以上的数据无法在平面上展现出来。2020/4/2520多维类型结构(MTS)•表示方法是:每一个维度用一条线段来表示。维度中的每一个成员都用线段上的一个单位区间来表示。•例如,用三个线段分别表示时间、产品和指标三个维的多维类型结构如图所示。2020/4/2521多维类型结构中的空间数据点•在上图多维类型结构(MTS)中,指定时间维成员是3月,产品维成员是鞋,指标维成员是销售量,这样它代表了三维数据中的一个空间数据点,如图所示。2020/4/2522多维数据的分析视图•在平面的屏幕上显示多维数据,是利用行、列和页面三个显示组来表示的。例如,对上例的四维MTS实例,在页面上选定商店维度中“商店3”,在行中选定时间维的“1月、2月、3月”共3个成员,在列中选定产品维中的“上衣、裤、帽子”三个成员,以及指标维中的“固定成本、直接销售”二个成员。该四维数据的显示如下图所示。2020/4/2523商店3(页面)上衣裤帽子直接销售固定成本直接销售固定成本直接销售固定成本1月4503505504505004002月3802804603604003203月400310480410450400四维数据的显示2020/4/2524多维度的数据显示•对于更多维度的数据显示,需要选择维度及其成员分布在行或者列中。在页面上可以选定多个维度,但每个维度只能显示一个成员。在行或者列中一般只选择二个维,每个维可以多个成员。例如,对6个维度数据,它的MTS如图所示。2020/4/2525•对6个维度数据,它的MTS如图所示。多维度数据显示的MTS2020/4/25266个维度数据的显示•对以上6维数据中,设定页面维度为商店的成员是“商店3”,客户维度成员是“老年”。行维度含时间维和产品维共2个维度,其中时间维中成员为“1月、2月、3月”。产品维中成员为“桌子、台灯”。列维度含指标维和场景维共2个维度,其中指标维中成员为“直接销售、间接销售、总销售”。场景维中成员为“实际、计划”。•具体的显示数据如图所示。商店3,老年(页面)直接销售间接销售总销售实际计划实际计划实际计划1月桌子250300125150375450台灯2653201331604004802月桌子333400167200500600台灯2833401421704255103月桌子350420175210525630台灯2503001251503754502020/4/2527MSSQLServer中的OLAP功能•MSSQLServer也为其用户提供了OLAP功能。•MSSQLServer的OLAP服务要以实现快速的数据仓库访问。从数据仓库提取的数据可以得到迅速的归总、组织以及转储,然后发送给最终用户。2020/4/2528•OLAP的服务器端主要实现数据立方体的创建和管理,具体地讲,它主要负责以下一些工作:(1)从关系数据库中提取数据,创建和处理数据立方体。(2)以一种合适的存储模式存储数据立方体的数据。(3)根据关系数据库或者OLAP数据立方体来创建数据挖掘模型。(4)存储数据挖掘模型提供的数据。2020/4/2529MMCOLAP添加件管理器OLAP管理器对象模型(决策支持对象OLAP服务器PivotTable服务定制的添加件定制程序立方体客户端磁盘存储关系数据库元数据元数据ROLAPROLAPdataHOLAPMOLAP多维数据MSOLAP的体系示意图2020/4/2530MSOLAP的体系示意图•服务器段和数据立方体有关的元数据、数据挖掘模型和其他的数据库模型都保存在元数据服务的关系数据库中。•PivotTable服务用于和OLAP服务器进行通信并提供了一个客户端可以访问的接口,所有的应用程序都必须通过PivotTable服务才能访问OLAP服务器和数据挖掘所得到的数据。2020/4/2531OLEDB数据源立方体文件PivotTable服务OLAP服务客户程序OLEDB2.0扩展的OLAP#0ADO2.0扩展的OLAP#0客户程序没有和服务器/数据源建立连接时的选项没有和服务器建立连接时的选项源数据ROLAPMOLAP多维数据PivotTable服务器的体系示意图
本文标题:数据仓库与数据挖掘-OLAP的数据模型与实现方式
链接地址:https://www.777doc.com/doc-5039668 .html