1、2022-7-21数据挖掘:概念与技术1数据挖掘:概念与技术数据挖掘:概念与技术 第三章:数据仓库与OLAP技术概述 2022-7-21数据挖掘:概念与技术2第三章:数据仓库与OLAP技术概述n什么是数据仓库?n多维数据集模型n数据仓库体系结构n数据仓库实现n从数据仓库到数据挖掘2022-7-21数据挖掘:概念与技术3什么是数据仓库?n多种定义方式,但不严格n从组织机构的操作数据库分离并独立维护的决策支持数据库n支持信息处理,为统一的历史数据分析提供坚实的平台n数据仓库是一个面向主题的、集成的、时变的和非易失的数据集合,支持管理部门的决策过程。W.H.Inmonn建立数据仓库:n构建和使用数据
2、仓库的过程2022-7-21数据挖掘:概念与技术4数据仓库面向主题的n围绕主题组织数据,如顾客、产品、销售等。n关注决策者的数据建模与分析,而不是组织机构的日常操作和事务处理。n提供特定主题的简明视图,排除对于决策支持过程无用的数据。2022-7-21数据挖掘:概念与技术5数据仓库集成的n由多个异构数据源集成构建n关系数据库,平面文件,联机事务记录n应用数据清理和数据集成技术n确保命名约定,编码结构,属性度量等一致性n将数据迁入数据仓库时需要进行数据转换2022-7-21数据挖掘:概念与技术6数据仓库时变的n数据仓库中数据的时间范围比业务操作系统中长得多n业务操作数据库:当前数据n数据仓库:提
3、供历史数据信息(如过去5-10年)n数据仓库中的结构主键:n都隐式或显示包含时间元素n但业务操作数据主键不一定包含时间元素2022-7-21数据挖掘:概念与技术7数据仓库非易失的n物理存储:与操作环境分离,虽然来自其中。n数据仓库环境中不发生数据更新操作n不需要事务处理,恢复和并发控制机制n只需要两种数据操作:ni数据初始化装入n数据访问2022-7-21数据挖掘:概念与技术8数据仓库与异构数据库n传统异构数据库集成:查询驱动方法n在异构数据库上建立包装程序和集成程序(中介程序)n提交查询时,使用元数据字典将查询转换为异构站点上的查询。然后将查询映射和发送到局部查询处理器,由不同站点返回的结果
4、集成为全局查询结果集。n复杂的信息过滤和集成处理,与局部数据源的处理竞争资源n数据仓库:更新驱动方法,高性能n将异构源的信息预先集成并存储在数据仓库中,供直接查询和分析n不包含最近的信息n支持复杂多维查询2022-7-21数据挖掘:概念与技术9数据仓库与业务操作数据库nOLTP(on-line transaction processing),联机事务处理n传统关系数据库管理系统的主要任务n日常操作:购物,库存,制造,银行,工资,注册,记账等。nOLAP(on-line analytical processing),联机分析处理n数据仓库系统的主要任务n数据分析和决策制定n区别(OLTP vs.
5、OLAP):n用户和系统的面向性:顾客事务和查询(办事员,打工仔)与市场数据分析(知识工人,老板)n数据内容:当前的,细节的 vs.历史的,汇总聚集的n数据库设计:E-R+业务应用 vs.星形、雪花型+主题n视图:当前的,局部的 vs.进化的,集成的n访问模式:更新 vs.只读 但查询复杂2022-7-21数据挖掘:概念与技术10OLTP vs.OLAP2022-7-21数据挖掘:概念与技术11为什么需要分离数据仓库?n提高两个系统的系能nDBMS tuned for OLTP:access methods,indexing,concurrency control,recoverynWareh
6、ousetuned for OLAP:complex OLAP queries,multidimensional view,consolidationn不同的功能和不同的数据:n数据不全:Decision support requires historical data which operational DBs do not typically maintainn数据聚合:DS requires consolidation(aggregation,summarization)of data from heterogeneous sourcesn数据质量:different sources t
7、ypically use inconsistent data representations,codes and formats which have to be reconcilednNote:越来越多的系统直接在DBMS上进行2022-7-21数据挖掘:概念与技术12Chapter 3:Data Warehousing and OLAP Technology:An OverviewnWhat is a data warehouse?nA multi-dimensional data modelnData warehouse architecturenData warehouse imple
8、mentationnFrom data warehousing to data mining2022-7-21数据挖掘:概念与技术13由表和电子数据表到数据立方体n数据仓库和OLAP工具基于多维数据模型,以数据立方体的方式观察数据n数据立方体,如销售,从多维角度对数据建模和观察n维度表维度表,如 item(item_name,brand,type),or time(day,week,month,quarter,year)n事实表事实表(如 dollars_sold)包含度量值和关联维度表的码n名词:n数据立方体成为方体方体(cuboid)n存放最底层汇总的方体(n-D)成为基本方体基本方体(b
9、asic cuboid)n存放最高层汇总的方体(0-D)称为顶点方体顶点方体(apex cuboid),用all标记n 方体的格成为数据立方体数据立方体(data cube)2022-7-21数据挖掘:概念与技术143-D数据立方体2022-7-21数据挖掘:概念与技术154-D数据立方体2022-7-21数据挖掘:概念与技术16数据立方体:方体的格time,itemtime,item,locationtime,item,location,supplieralltimeitemlocationsuppliertime,locationtime,supplieritem,locationitem
10、,supplierlocation,suppliertime,item,suppliertime,location,supplieritem,location,supplier0-D(apex)cuboid1-D cuboids2-D cuboids3-D cuboids4-D(base)cuboid2022-7-21数据挖掘:概念与技术17数据仓库的概念建模n数据仓库建模:dimensions&measuresn星形模型:A fact table in the middle connected to a set of dimension tables n雪花模型:A refinement o
11、f star schema where some dimensional hierarchy is normalized into a set of smaller dimension tables,forming a shape similar to snowflaken事实星座型:Multiple fact tables share dimension tables,viewed as a collection of stars,therefore called galaxy schema or fact constellation 2022-7-21数据挖掘:概念与技术18星形模型例子
12、time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationSales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch2022-7-21数据挖掘:概念与技术
13、19雪花模型例子time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationSales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesupplie
14、rcity_keycitystate_or_provincecountrycity2022-7-21数据挖掘:概念与技术20事实星座型例子time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationSales Fact Tabletime_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_keyitem_namebrandtypesuppli
15、er_typeitembranch_keybranch_namebranch_typebranchShipping Fact Tabletime_key item_key shipper_key from_location to_location dollars_cost units_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper2022-7-21数据挖掘:概念与技术21DMQL 中的立方体定义语法n立方体定义(Fact Table)define cube :n维度定义(Dimension Table)define d
16、imension as()nSpecial Case(Shared Dimension Tables)nFirst time as“cube definition”ndefine dimension as in cube 2022-7-21数据挖掘:概念与技术22DMQL定义星形模型define cube sales_star time,item,branch,location:dollars_sold=sum(sales_in_dollars),avg_sales=avg(sales_in_dollars),units_sold=count(*)define dimension time a
17、s(time_key,day,day_of_week,month,quarter,year)define dimension item as(item_key,item_name,brand,type,supplier_type)define dimension branch as(branch_key,branch_name,branch_type)define dimension location as(location_key,street,city,province_or_state,country)2022-7-21数据挖掘:概念与技术23DMQL定义雪花模型define cube
18、sales_snowflake time,item,branch,location:dollars_sold=sum(sales_in_dollars),avg_sales=avg(sales_in_dollars),units_sold=count(*)define dimension time as(time_key,day,day_of_week,month,quarter,year)define dimension item as(item_key,item_name,brand,type,supplier(supplier_key,supplier_type)define dimen
19、sion branch as(branch_key,branch_name,branch_type)define dimension location as(location_key,street,city(city_key,province_or_state,country)2022-7-21数据挖掘:概念与技术24DMQL定义事实星座型define cube sales time,item,branch,location:dollars_sold=sum(sales_in_dollars),avg_sales=avg(sales_in_dollars),units_sold=count(*
20、)define dimension time as(time_key,day,day_of_week,month,quarter,year)define dimension item as(item_key,item_name,brand,type,supplier_type)define dimension branch as(branch_key,branch_name,branch_type)define dimension location as(location_key,street,city,province_or_state,country)define cube shippin
21、g time,item,shipper,from_location,to_location:dollar_cost=sum(cost_in_dollars),unit_shipped=count(*)define dimension time as time in cube salesdefine dimension item as item in cube salesdefine dimension shipper as(shipper_key,shipper_name,location as location in cube sales,shipper_type)define dimens
22、ion from_location as location in cube salesdefine dimension to_location as location in cube sales2022-7-21数据挖掘:概念与技术25数据立方体的度量:三类n分布式度量:将函数用于n个聚合值得到的结果与将函数用于整个数据集(不划分)得到的结果一样nE.g.,count(),sum(),min(),max()n代数度量:能够用具有M个参数的代数函数计算,而每个参数都可以用一个分布式聚合函数求得nE.g.,avg(),min_N(),standard_deviation()n整体度量:描述它的子聚
23、集所需的存储没有常数界。nE.g.,median(),mode(),rank()2022-7-21数据挖掘:概念与技术26概念分层:维度(location)allEuropeNorth_AmericaMexicoCanadaSpainGermanyVancouverM.WindL.Chan.allregionofficecountryTorontoFrankfurtcity2022-7-21数据挖掘:概念与技术27概念分层:数值型数据(price)2022-7-21数据挖掘:概念与技术28数据仓库和分层视图Specification of hierarchiesnSchema hierarch
24、yday month quarter;week yearnSet_grouping hierarchy1.10=minsupn动机n仅一小部分“浮于水面”的立方体单元存储在稀疏立方体中n仅计算感兴趣的单元数据超出某一阈值n避免立方体的爆炸性增长2022-7-21数据挖掘:概念与技术54索引OLAP数据:位图索引n某一具体列上的索引;n列中的每一个值都有一个位向量:位操作速度快n如果给定属性上包含n个值,则位图索引中每项需要n个位。n位向量的长度:基本表的记录数n如果基表给定行上该属性值为v,则位图索引对应行的该值位置1。n不适合集数很大的域,导致位向量很长2022-7-21数据挖掘:概念与技术
25、55位图索引例子2022-7-21数据挖掘:概念与技术56索引OLAP数据:连接索引n连接索引:JI(R-id,S-id)where R(R-id,)S(S-id,)n传统的索引将给定列上的值映射到具有该值的行的列表上n在JI文件中物化关系连接,加快连接速度n在数据仓库中,连接索引维护维的属性值与事实表的对应行的联系n连接索引可以跨越多维,形成符合连接索引2022-7-21数据挖掘:概念与技术57连接索引例子2022-7-21数据挖掘:概念与技术58OLAP 查询的有效处理n确定哪些操作应该在可利用的方体上执行n将 drill,roll等操作转化为SQL或OLAP操作n e.g.,dice=s
26、election+projectionn确定相关操作 应当使用哪些物化的方体n假设对 brand,province_or_state 处理查询,选择常量“year=2004”,有4个物化方体可用:1)year,item_name,city 2)year,brand,country3)year,brand,province_or_state4)item_name,province_or_state where year=2004应该选择哪一个来处理查询?基于代价的估计。n采用稀疏矩阵和数据压缩技术2022-7-21数据挖掘:概念与技术59Chapter 3:Data Warehousing an
27、d OLAP Technology:An OverviewnWhat is a data warehouse?nA multi-dimensional data modelnData warehouse architecturenData warehouse implementationnFrom data warehousing to data mining2022-7-21数据挖掘:概念与技术60数据仓库的使用n三种数据仓库应用n信息处理n支持查询、基本的统计分析、使用交叉表、表、图表进行报告n构造低代价的基于Web的访问工具。n分析处理n多维数据分析n支持OLAP操作:slice-dic
28、e,drilling,pivotingn数据挖掘n从隐藏的模式中发现知识 n支持关联分析,构造分析模型,进行分类和预测,使用可视化工具提供挖掘结果2022-7-21数据挖掘:概念与技术61数据仓库的渐进使用n商务管理人员使用数据仓库和数据集市进行数据分析和战略决策n数据仓库使用时间越长,进化的越好n开始,用于产生报告和回答预先定义的查询n渐渐地,用于分析汇总和详细的数据结果以报表和图表提供n稍后,用于战略目的,进行多维分析和复杂的切片和切块操作。n最后,用于知识发现,并使用数据挖掘工具进行战略决策。n数据仓库工具:访问与检索工具,数据库报表工具,数据分析工具和数据挖掘工具2022-7-21数据
29、挖掘:概念与技术62从联机分析处理从联机分析处理(OLAP)到联机分析挖掘到联机分析挖掘(OLAM)n为什么需要联机分析挖掘?n数据仓库中数据的高质量nDW中包含集成,一致,干净的数据n环绕数据仓库的信息处理基础设施nODBC,OLEDB,Web访问,服务机制,reporting and OLAP toolsn基于OLAP的探测试数据分析nMining with drilling,dicing,pivoting,etc.n数据挖掘功能的联机选择nIntegration and swapping of multiple mining functions,algorithms,and tasks2
30、022-7-21数据挖掘:概念与技术63联机分析挖掘的体系结构数据仓库数据仓库元数据元数据MDDBOLAM引擎引擎OLAP引擎引擎图形用户界面图形用户界面 API立方体立方体 API数据库数据库 API数据清理数据清理数据集成数据集成第三层第三层OLAP/OLAM第第2层层多维数据库多维数据库第第1层层数据存储数据存储第第4层层用户界面层用户界面层过滤过滤&集成集成过滤过滤数据库数据库挖掘查询挖掘查询挖掘结果挖掘结果2022-7-21数据挖掘:概念与技术64Chapter 3:Data Warehousing and OLAP Technology:An OverviewnWhat is a
31、data warehouse?nA multi-dimensional data modelnData warehouse architecturenData warehouse implementationnFrom data warehousing to data miningnSummary2022-7-21数据挖掘:概念与技术65总结:数据仓库和OLAP技术n为什么需要数据仓库?n数据仓库的多维数据模型nStar schema,snowflake schema,fact constellationsnA data cube consists of dimensions&measures
32、nOLAP 操作:drilling,rolling,slicing,dicing and pivotingn数据仓库结构体系nOLAP 服务器:ROLAP,MOLAP,HOLAPn数据立方体的有效计算nPartial vs.full vs.no materializationnIndexing OALP data:Bitmap index and join indexnOLAP query processing n从 OLAP 到 OLAM(联机分析挖掘)2022-7-21数据挖掘:概念与技术66References(I)nS.Agarwal,R.Agrawal,P.M.Deshpande,A
33、.Gupta,J.F.Naughton,R.Ramakrishnan,and S.Sarawagi.On the computation of multidimensional aggregates.VLDB96nD.Agrawal,A.E.Abbadi,A.Singh,and T.Yurek.Efficient view maintenance in data warehouses.SIGMOD97nR.Agrawal,A.Gupta,and S.Sarawagi.Modeling multidimensional databases.ICDE97nS.Chaudhuri and U.Day
34、al.An overview of data warehousing and OLAP technology.ACM SIGMOD Record,26:65-74,1997nE.F.Codd,S.B.Codd,and C.T.Salley.Beyond decision support.Computer World,27,July 1993.nJ.Gray,et al.Data cube:A relational aggregation operator generalizing group-by,cross-tab and sub-totals.Data Mining and Knowled
35、ge Discovery,1:29-54,1997.nA.Gupta and I.S.Mumick.Materialized Views:Techniques,Implementations,and Applications.MIT Press,1999.nJ.Han.Towards on-line analytical mining in large databases.ACM SIGMOD Record,27:97-107,1998.nV.Harinarayan,A.Rajaraman,and J.D.Ullman.Implementing data cubes efficiently.S
36、IGMOD962022-7-21数据挖掘:概念与技术67References(II)nC.Imhoff,N.Galemmo,and J.G.Geiger.Mastering Data Warehouse Design:Relational and Dimensional Techniques.John Wiley,2003nW.H.Inmon.Building the Data Warehouse.John Wiley,1996nR.Kimball and M.Ross.The Data Warehouse Toolkit:The Complete Guide to Dimensional M
37、odeling.2ed.John Wiley,2002nP.ONeil and D.Quass.Improved query performance with variant indexes.SIGMOD97nMicrosoft.OLEDB for OLAP programmers reference version 1.0.In http:/ and statistical databases:Similarities and differences.PODS00.nS.Sarawagi and M.Stonebraker.Efficient organization of large mu
38、ltidimensional arrays.ICDE94nOLAP council.MDAPI specification version 2.0.In http:/www.olapcouncil.org/research/apily.htm,1998nE.Thomsen.OLAP Solutions:Building Multidimensional Information Systems.John Wiley,1997nP.Valduriez.Join indices.ACM Trans.Database Systems,12:218-246,1987.nJ.Widom.Research problems in data warehousing.CIKM95.