资源描述
数据仓库和数据挖掘的OLAP技术什么是数据仓库数据仓库n nW.H Inmon的定义:数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理部门的决策过程。数据仓库关键特征n n面向主题 subject-oriented排除对决策无用的数据,提供特定主题的简明排除对决策无用的数据,提供特定主题的简明视图。视图。n n集成的 integrated构造数据仓库是将多个异种数据源集成在一起构造数据仓库是将多个异种数据源集成在一起,确保命名约定确保命名约定,编码结构编码结构,属性度量等一致性属性度量等一致性n n时变的 time-variant数据仓库是不断更新。数据仓库是不断更新。n n非易失的 nonvolatile数据仓库总是物理的分离存放的数据数据仓库总是物理的分离存放的数据n n数据仓库时一种语义上一致的数据存储。它充当决策支持数据模型的物理实现,并存放企业战屡决策所需要的信息。n n数据仓库也常常被看作是一种体系结构,通过将异种数据源中的数据集成在一起而构造,支持结构化和专门的查询,分析报告和决策制定。n nA data warehouse is a copy of transaction data specifically structured for querying and reporting 建立数据仓库 Data warehousingn n数据集成 1。查询驱动 query-driven 使用包装程序和集成程序 代理 2。更新驱动 预先集成n n数据清理n n数据统一n n决策支持技术OLTP 和 OLAPn n操作数据库系统的主要任务是联机事务处理OLTPn n数据仓库在数据分析和决策方面为用户提供服务,这种系统称为联机分析处理OLAPOLTP 和 OLAP的区别特性特性OLTPOLTPOLAPOLAP特性特性操作处理操作处理信息处理信息处理面向面向事务事务分析分析用户用户办事员办事员 DBADBA知识工人知识工人功能功能日常操作日常操作决策支持,决策支持,DBDB设计设计E-R E-R 面向应用面向应用星型星型/雪花雪花 面向主题面向主题数据数据当前的,最新的当前的,最新的历史的,跨时间维护历史的,跨时间维护汇总汇总原始的,高度详细原始的,高度详细汇总的,统一的汇总的,统一的视图视图详细,一般关系详细,一般关系汇总的,多维的汇总的,多维的特性特性OLTPOLTPOLAPOLAP工作单位工作单位短的,简单事务短的,简单事务复杂查询复杂查询存取存取读读/写写多数为读多数为读关注关注数据进入数据进入信息输出信息输出操作操作索引索引/散列散列大量扫描大量扫描访问记录访问记录数量数量数十个数十个数百万数百万用户数用户数数千数千数百数百DBDB规模规模100MB100MB到到 GBGB100GB100GB到到 TBTB优先优先高性能,高可靠高性能,高可靠高灵活,端点用户自治高灵活,端点用户自治度量度量事务吞吐量事务吞吐量查询吞吐量,响应时间查询吞吐量,响应时间为什么需要分离的数据仓库n n分离操作数据库系统和数据仓库的主要 原因是提高两个系统的性能.操作数据库系统是为已知的任务和负载设计的,而数据仓库的查询通常是复杂的,涉及大量数据在汇总级的计算,在操作数据库系统上处理OLAP查询,可能会大大降低操作任务的性能.多维数据模型n n数据仓库和OLAP工具基于多维数据模型,该模型将数据看作数据立方体形式n n数据立方体允许以多维对数据建模和观察.数据立方体维维是人们观察问题的特定角度,例如:时间维、地理维、产品维。维是一个组织要记录的透视或实体。事实:一个数值的度量数据立方体:允许以多维对数据建模和观察,它由维和事实定义。例子n nSales 记录商店销售,可能的维:Time,item,branch,location.Time,item,branch,location.n nSales 销售数据仓库的事实:Dollars_sold,units_soldDollars_sold,units_sold维表和事实表n n维表:存放维详细信息的表格。人们在观察数据的某个特定角度(即某个维)还可以存在细节程度不同的多个描述方面。n n事实表存放了事实的名称和度量,以及相关的维表的关键字。数据立方体n n数据立方体可以看作(维1,维2,维n,事实1,.事实m)N-D立方体。方体格n n给定一个维的集合,我们可以构造方体的格,每个在不同的汇总或group by 显示数据。方体的格称作数据立方体。n n基本方体存放最低层汇总的方体存放最低层汇总的方体n n顶点方体最高层次的汇总最高层次的汇总多维数据库模式星型,雪花和事实星座模式是主要的存在形式n n星型模式包含一个大的包含大批数据的事实表和一系列维表.n n雪花模式是星型模式的变种,不同的是将某些维表规范化.n n事实星座模式对应多个事实表共享维表.定义模式的例子n n定义图定义图2-42-4的星型模式的星型模式:Define cube Define cube sales_startime,item,branch,location:sales_startime,item,branch,location:dollars_sold=sum(sales_in_dollars),dollars_sold=sum(sales_in_dollars),units_old=count(*)units_old=count(*)n n定义维定义维 Define dimension time as Define dimension time as(time_key,day,day_of_week,month,quarter,(time_key,day,day_of_week,month,quarter,year)year)度量的分类和计算n n分布的:设数据被划分为n个集合,函数在每一部分上的计算得到一个聚集值.如果将函数用于n个聚集值得到的结果,与将函数用于所有数据得到的结果一样则该度量是分布的,如count(),sum()等n n代数的:如果一个聚集函数能够由一个具有M个参数的代数函数计算,且每个参数都可以用一个分布聚集函数求得.如avg()可以由sum()/count()计算,其中sum()和count()是分布聚集函数.n n整体的:如果一个聚集函数无法用具有M个参数的代数函数进行这一计算,则这个函数称是整体的,如rank()等n n许多度量可以用关系的聚集操作计算 对应图2-4,我们也可写出SQL语句.计算dollars_sold和units_soldSelect sum(s.number_of_units_sold*s.price)Select sum(s.number_of_units_sold*s.price),Sum(s.number_of_units_sold)Sum(s.number_of_units_sold)From time t,item i,branch b,location l,sales s,From time t,item i,branch b,location l,sales s,Where s.time_key=t.time_key and Where s.time_key=t.time_key and s.item_key=i.item_key and s.item_key=i.item_key and s.branch_key=b.branch_key and s.branch_key=b.branch_key and s.loation_key=l.location_keys.loation_key=l.location_keyGroup by Group by s.time_key,s.item_key,s.branch_key,s.locatios.time_key,s.item_key,s.branch_key,s.location_keyn_key概念分层n n概念分层隐含在数据库模式中全序全序偏序偏序集合分组分层集合分组分层n n概念分层由系统用户专家等人工引入或者自动产生多维数据模型的OLAP操作n n上卷操作,通过维规约,在数据立方体上进行聚集.n n下钻操作,是上卷操作的逆操作,由不太详细的数据到更详细的数据.n n切片和切块,切片在给定的数据立方体的一个维上进行选择,切块则是在两个或两个以上的维进行选择.n n转轴操作,转动数据的视觉,是目视操作.查询多维数据库的星型网查询模型数据仓库的系统结构数据仓库设计n n自顶向下视图,使我们可以选择数据仓库所需的相关信息.n n数据源视图,揭示被操作数据库系统捕获存储和管理的信息.n n数据仓库视图,包括事实表和维表.n n商务查询视图,从最终用户的角度透视数据仓库中的数据数据仓库设计过程n n选取待建模的商务处理n n选取商务处理的粒度,例如单个事务,一天的快照等n n选取用于每个事实表记录的维.n n选取将安放在事实表中的度量如图2-4中的dollars_sold和units_sold三层数据仓库结构n n底层数据仓库服务器,使用称作网间连接程序的应用程序,由操作数据库和外部数据源提取数据.n n中间层是OLAP服务器,实现方法有关系关系OLAPOLAP模型模型ROLAP,ROLAP,在多维数据上的操作在多维数据上的操作映射为标准的关系作映射为标准的关系作多维多维OLAPOLAP模型模型MOLAPMOLAP 直接实现多维数据的直接实现多维数据的操作操作n n顶层是客户,它包括查询和报告工具,分析工具和数据挖掘工具(例如趋势分析,预测等)数据仓库的类型n n企业仓库:企业仓库收集了关于主题的所有信息,跨越整个组织,它提供企业范围内的数据集成.n n数据集市:包含企业范围数据的一个子集,对于特定的用户是有用的,其范围限于选定的主题.n n虚拟仓库:是操作数据库上的视图集合.为了有效地处理查询,只有一些可能的汇总视图被物化,虚拟仓库易于建立,但需要操作数据库服务器具有剩余能力.OLAP服务器类型n n关系OLAP(ROLAP)模型,使用关系或扩充关系DBMS存放并管理数据仓库n n多维OLAP(MOLAP)服务器,这些服务器通过基于数组的多维存储,支持数组的多维视图n n混合OLAP(HOLAP)服务器,结合ROLAP和MOLAP技术,得宜于ROLAP的可伸缩性,和MOLAP的快速计算.数据如何实际的存放n nROLAP使用关系表存放。n n与基本方体相关的事实表叫基本事实表存放的数据所处的抽象级别由给定的数据立方存放的数据所处的抽象级别由给定的数据立方体的模式的连接键指出。体的模式的连接键指出。n n聚集数据也可能存放在事实表中,称为汇总事实表n nMOLAP采用数组结构存放数据数据仓库实现N维数据立方体的有效计算数据立方体的有效计算n n计算量:对一个n维数据立方体,第i维的层次是Li,则可能产生的立方体总数是T=(L1+1)*(Ln+1)如果10维每维4个层次产生的方体数是5的10次方=9800000.n n预先计算并物化所有可能产生的方体是不现实的,较合理的是部分物化方体的选择计算n n不物化:导致运行时计算昂贵的多维聚集,速度极慢.n n全物化:需要海量存储空间,存放所有预先计算的方体.n n部分物化:在存储空间和响应时间二者之间提供了很好的折衷.多路数组聚集n n将数组分成块,块的大小能够放入立方体计算时可用的内存.n n通过访问立方体单元进行聚集,使得每个单元必须重新访问的次数最小化.n n如图如图 40*400*400040*400*4000立方体立方体,分成分成6464块块 策略是多利策略是多利用小的立方块用小的立方块.n n最佳的是最佳的是ABAB平面平面40*400+AC40*400+AC平面的一平面的一行行40*1000+BC40*1000+BC平面平面的一块的一块100*1000100*1000总计总计是是156000.156000.n n如果次序是如果次序是BC,AC,ABBC,AC,AB则所需内存是则所需内存是400*4000+40*1000400*4000+40*1000+10*100+10*100=1641000,=1641000,是最佳策略是最佳策略的的1010倍以上倍以上.索引OLAP数据n n位图索引:与散列和树索引相比,位图索引将比较,连接和聚集都变成了位算术运算,大大减少了运行时间.n n连接索引:源于关系数据库的查询处理.n n位图连接索引:将连接索引和位图索引集成.OLAP查询的有效处理n n确定那些操作应当在可利用的方体上执行,这涉及将查询中的选择投影上卷下钻操作转换成对应的SQL或OLAP操作.n n确定相关操作应当使用哪些物化的方体,这涉及到找出可能用于查询的所有物化方体.具体步骤n n考察的方体必须与查询具有相同的维集合,或是它的超集.n n选择代价最小的方体.元数据存储元数据是定义数据仓库对象的数据元数据是定义数据仓库对象的数据.元数据元数据的存储包括的存储包括n n数据仓库结构的描述数据仓库结构的描述n n对元数据的操作对元数据的操作n n汇总用的算法汇总用的算法n n由操作环境到数据仓库的映射由操作环境到数据仓库的映射n n关于系统性能的数据关于系统性能的数据n n商务元数据商务元数据数据仓库后端工具n n数据提取:从多个异种的外部数据源收集数据.n n数据清理:检测错误,可能时修改错误.n n数据变换:将数据转换成数据仓库格式.n n装入:排序,综合,合并,计算视图,检查整体性,并建立索引和划分.n n刷新:传播由数据源到数据仓库的更新.进一步发展和探讨n n发现驱动的探查发现驱动的探查:预计算的度量指出数据异常预计算的度量指出数据异常,避避免人工检查数据免人工检查数据.n n扩充扩充SQLSQL语句的实现语句的实现(多粒度上的复杂聚集多粒度上的复杂聚集).).n n联机聚集联机聚集,可以显示迄今为止所知道的可以显示迄今为止所知道的,而不是等而不是等待查询完全处理完待查询完全处理完.n n最高最高N N查询查询,只查询最高的只查询最高的N N项项,而不是整个排序的而不是整个排序的表表,这导致较快的响应时间并减少资源浪费这导致较快的响应时间并减少资源浪费.多特征方n n计算复杂查询,这些查询涉及多粒度上多个依赖的聚集。n n简单数据立方体查询。构造数据立方体n n复杂查询:按Item,region,month的所有子集分组,对某组找出2000年最高价格,并在具有最高价格的元组中找出销售总额。Select item,region,month,Max(price),Sum(R.sales)From purchasesWhere year=2000Cube by item,region,month:RSuch that R.price=Max(Price)数据仓库的应用n n信息处理:支持查询和基本的统计分析,并使用表或图进行报告.n n分析处理:支持基本的OLAP操作,在汇总的和细节的历史数据上操作.n n数据挖掘:支持知识发现,包括找出隐藏的模式和关联,构造分析模型,进行分类和预测,并用可视化工具提供挖掘结果.联机分析挖掘(OLAM)将联机分析处理与数据挖掘集成,有以下几个原因:n n数据仓库中数据的高质量:大部分数据挖掘工具需要在集成的一致的和清理过的数据上进行,经由这些预处理而构造的数据仓库不仅用作OLAP而且也用作数据挖掘的数据源.n n环绕数据仓库的有价值的信息处理基础设施环绕数据仓库的有价值的信息处理基础设施:谨慎的做法是尽量利用可用的基础设施谨慎的做法是尽量利用可用的基础设施,而不是而不是一切从头做起一切从头做起.n n基于基于OLAPOLAP的探测式数据分析的探测式数据分析:有效的数据挖掘有效的数据挖掘需要探测式数据分析需要探测式数据分析.用户常常想在不同粒度上用户常常想在不同粒度上分析它们分析它们.联机分析挖掘提供在不同的数据子集联机分析挖掘提供在不同的数据子集和不同的抽象层上进行数据挖掘的工具和不同的抽象层上进行数据挖掘的工具.n n数据挖掘功能的联机选择数据挖掘功能的联机选择:用户常常不知道想用户常常不知道想挖掘些什么挖掘些什么.通过将通过将OLAPOLAP与多种数据挖掘功能与多种数据挖掘功能集成在一起集成在一起,联机分析挖掘为用户选择所期望的联机分析挖掘为用户选择所期望的数据挖掘功能动态修改挖掘任务提供了灵活性数据挖掘功能动态修改挖掘任务提供了灵活性
展开阅读全文