2019/8/1数据挖掘:概念与技术1数据挖掘:概念与技术—第三章:数据仓库与OLAP技术概述—2019/8/1数据挖掘:概念与技术2第三章:数据仓库与OLAP技术概述什么是数据仓库?多维数据集模型数据仓库体系结构数据仓库实现从数据仓库到数据挖掘2019/8/1数据挖掘:概念与技术3什么是数据仓库?多种定义方式,但不严格从组织机构的操作数据库分离并独立维护的决策支持数据库支持信息处理,为统一的历史数据分析提供坚实的平台数据仓库是一个面向主题的、集成的、时变的和非易失的数据集合,支持管理部门的决策过程。W.H.Inmon建立数据仓库:构建和使用数据仓库的过程2019/8/1数据挖掘:概念与技术4数据仓库—面向主题的围绕主题组织数据,如顾客、产品、销售等。关注决策者的数据建模与分析,而不是组织机构的日常操作和事务处理。提供特定主题的简明视图,排除对于决策支持过程无用的数据。2019/8/1数据挖掘:概念与技术5数据仓库——集成的由多个异构数据源集成构建关系数据库,平面文件,联机事务记录应用数据清理和数据集成技术确保命名约定,编码结构,属性度量等一致性将数据迁入数据仓库时需要进行数据转换2019/8/1数据挖掘:概念与技术6数据仓库——时变的数据仓库中数据的时间范围比业务操作系统中长得多业务操作数据库:当前数据数据仓库:提供历史数据信息(如过去5-10年)数据仓库中的结构主键:都隐式或显示包含时间元素但业务操作数据主键不一定包含时间元素2019/8/1数据挖掘:概念与技术7数据仓库——非易失的物理存储:与操作环境分离,虽然来自其中。数据仓库环境中不发生数据更新操作不需要事务处理,恢复和并发控制机制只需要两种数据操作:i数据初始化装入数据访问2019/8/1数据挖掘:概念与技术8数据仓库与异构数据库传统异构数据库集成:查询驱动方法在异构数据库上建立包装程序和集成程序(中介程序)提交查询时,使用元数据字典将查询转换为异构站点上的查询。然后将查询映射和发送到局部查询处理器,由不同站点返回的结果集成为全局查询结果集。复杂的信息过滤和集成处理,与局部数据源的处理竞争资源数据仓库:更新驱动方法,高性能将异构源的信息预先集成并存储在数据仓库中,供直接查询和分析不包含最近的信息支持复杂多维查询2019/8/1数据挖掘:概念与技术9数据仓库与业务操作数据库OLTP(on-linetransactionprocessing),联机事务处理传统关系数据库管理系统的主要任务日常操作:购物,库存,制造,银行,工资,注册,记账等。OLAP(on-lineanalyticalprocessing),联机分析处理数据仓库系统的主要任务数据分析和决策制定区别(OLTPvs.OLAP):用户和系统的面向性:顾客——事务和查询(办事员,打工仔)与市场——数据分析(知识工人,老板)数据内容:当前的,细节的vs.历史的,汇总聚集的数据库设计:E-R+业务应用vs.星形、雪花型+主题视图:当前的,局部的vs.进化的,集成的访问模式:更新vs.只读但查询复杂2019/8/1数据挖掘:概念与技术10OLTPvs.OLAP2019/8/1数据挖掘:概念与技术11为什么需要分离数据仓库?提高两个系统的系能DBMS—tunedforOLTP:accessmethods,indexing,concurrencycontrol,recoveryWarehouse—tunedforOLAP:complexOLAPqueries,multidimensionalview,consolidation不同的功能和不同的数据:数据不全:DecisionsupportrequireshistoricaldatawhichoperationalDBsdonottypicallymaintain数据聚合:DSrequiresconsolidation(aggregation,summarization)ofdatafromheterogeneoussources数据质量:differentsourcestypicallyuseinconsistentdatarepresentations,codesandformatswhichhavetobereconciledNote:越来越多的系统直接在DBMS上进行2019/8/1数据挖掘:概念与技术12Chapter3:DataWarehousingandOLAPTechnology:AnOverviewWhatisadatawarehouse?Amulti-dimensionaldatamodelDatawarehousearchitectureDatawarehouseimplementationFromdatawarehousingtodatamining2019/8/1数据挖掘:概念与技术13由表和电子数据表到数据立方体数据仓库和OLAP工具基于多维数据模型,以数据立方体的方式观察数据数据立方体,如销售,从多维角度对数据建模和观察维度表,如item(item_name,brand,type),ortime(day,week,month,quarter,year)事实表(如dollars_sold)包含度量值和关联维度表的码名词:数据立方体成为方体(cuboid)存放最底层汇总的方体(n-D)成为基本方体(basiccuboid)存放最高层汇总的方体(0-D)称为顶点方体(apexcuboid),用all标记方体的格成为数据立方体(datacube)2019/8/1数据挖掘:概念与技术143-D数据立方体2019/8/1数据挖掘:概念与技术154-D数据立方体2019/8/1数据挖掘:概念与技术16数据立方体:方体的格time,itemtime,item,locationtime,item,location,supplieralltimeitemlocationsuppliertime,locationtime,supplieritem,locationitem,supplierlocation,suppliertime,item,suppliertime,location,supplieritem,location,supplier0-D(apex)cuboid1-Dcuboids2-Dcuboids3-Dcuboids4-D(base)cuboid2019/8/1数据挖掘:概念与技术17数据仓库的概念建模数据仓库建模:dimensions&measures星形模型:Afacttableinthemiddleconnectedtoasetofdimensiontables雪花模型:Arefinementofstarschemawheresomedimensionalhierarchyisnormalizedintoasetofsmallerdimensiontables,formingashapesimilartosnowflake事实星座型:Multiplefacttablessharedimensiontables,viewedasacollectionofstars,thereforecalledgalaxyschemaorfactconstellation2019/8/1数据挖掘:概念与技术18星形模型例子time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationSalesFactTabletime_keyitem_keybranch_keylocation_keyunits_solddollars_soldavg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch2019/8/1数据挖掘:概念与技术19雪花模型例子time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationSalesFactTabletime_keyitem_keybranch_keylocation_keyunits_solddollars_soldavg_salesMeasuresitem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity2019/8/1数据挖掘:概念与技术20事实星座型例子time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationSalesFactTabletime_keyitem_keybranch_keylocation_keyunits_solddollars_soldavg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranchShippingFactTabletime_keyitem_keyshipper_keyfrom_locationto_locationdollars_costunits_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper2019/8/1数据挖掘:概念与技术21DMQL中的立方体定义语法立方体定义(FactTable)definecubecube_name[dimension_list]:measure_list维度定义(DimensionTable)definedimensiondimension_nameas(attribute_or_subdimension_list)SpecialCase(SharedDimensionTables)Firsttimeas“cubedefinition”definedimensiondimension_nameasdimension_name_first_timeincubecube_name_first_time2019/8/1数据挖掘:概念与技术22DMQL定义星形模型definecubesales_star[time,item,branch,location]:dollars_sold=sum(sales_in_dollars),avg_sales=avg(sales_in_dollars),units_sold=count(*)definedimensiontimeas(time_key,day,day_of_week,month,quarter,year)definedimensionitemas(item_key,item_name,brand,type,supplier_type)definedimensionbranchas(branch_key,branch_name,branch_type)definedimensionlocationas(location_key,street,city,province_or_state,country)2019/8/1数据挖掘:概念与技术23DMQL定义雪花