《《数据仓库》课件.ppt》由会员分享,可在线阅读,更多相关《《数据仓库》课件.ppt(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Data Mining:Concepts and Techniques Chapter 3 Jiawei HanDepartment of Computer Science University of Illinois at Urbana-Champaignwww.cs.uiuc.edu/hanj2006 Jiawei Han and Micheline Kamber,All rights reserved2023/2/251Data Mining:Concepts and Techniques2023/2/252Data Mining:Concepts and Techniques第三章 数
2、据仓库与OLAP技术概述什么是数据仓库 多维数据模型设计仓库体系结构数据仓库实现从数据仓库到数据挖掘2023/2/253Data Mining:Concepts and Techniques2.2.1 2.2.1 数据仓库的产生数据仓库的产生 数数据据仓仓库库技技术术是是随随着着人人们们对对大大型型数数据据库库系系统统研研究究的的不不断断深深入入,在在传传统统数数据据库库技技术术基基础础之之上上发发展展而而来来的的,其其主主要要目目的的就就是是为为决决策策提供支持提供支持,为为OLAP、数据挖掘深层次的分析提供平台、数据挖掘深层次的分析提供平台。数数据据仓仓库库是是一一个个和和实实际际应应用用
3、密密不不可可分分的的研研究究领领域域,与与传传统统数数据据库库相相比比,数数据据仓仓库库不不仅仅引引入入了了许许多多新新的的概概念念,而而且且在在体体系系结结构构、数据组织数据组织等方面,均有其自身的特点。等方面,均有其自身的特点。什么是数据仓库?2023/2/254Data Mining:Concepts and Techniques数据仓库要解决的基本问题全局范全局范围内内统一数据一数据视图n数据内容数据内容n数据的完整性数据的完整性n数据的准确性数据的准确性n数据的一致性数据的一致性n数据数据组织n面向分析决策面向分析决策为什么需要数据仓库技术为什么需要数据仓库技术2023/2/255D
4、ata Mining:Concepts and Techniques在实际中经常存在这样为什么需要数据仓库技术为什么需要数据仓库技术2023/2/256Data Mining:Concepts and Techniques“蜘蛛网”问题没有没有统一一规划和划和设计数据模型不一致数据模型不一致数据定数据定义不一致不一致数据准确性差,冗余数据准确性差,冗余度高度高历史数据不史数据不统一、不一、不规范范解决方案:解决方案:深入、全面、客观的数据深入、全面、客观的数据源分析源分析为什么需要数据仓库技术为什么需要数据仓库技术2023/2/257Data Mining:Concepts and Techn
5、iques 传统数据数据库的主要任的主要任务是是进行行事物事物处理理(OLTP),它,它所关注的是事物所关注的是事物处理的理的及及时性、完整性与正确性性、完整性与正确性,而,而在数据的在数据的分析分析处理方面理方面,则存在着不足,主要体存在着不足,主要体现在在 、集成性的缺乏、集成性的缺乏 首先,首先,业务数据数据库系系统的条的条块与部与部门分割,分割,导致数致数据分布的分散化与无序化据分布的分散化与无序化为什么需要数据仓库技术为什么需要数据仓库技术2023/2/258Data Mining:Concepts and Techniques证券公司内部信息系统上海股东开户系统上海股东开户系统(指
6、定)(指定)数据组织方式数据组织方式关系数据库系统关系数据库系统行情分析系统行情分析系统(类型可以选择)(类型可以选择)数据组织方式数据组织方式加密文本文件加密文本文件上海法人清算系统上海法人清算系统(指定)(指定)数据组织方式数据组织方式关系数据库系统关系数据库系统 证券交易系券交易系统(类型可以型可以选择)数据数据组织方式方式 关系数据关系数据库系系统财务分析系统财务分析系统(指定)(指定)数据组织方式数据组织方式关系数据库系统关系数据库系统证券咨询系统证券咨询系统(类型可选择)(类型可选择)数据组织方式数据组织方式加密文本文件加密文本文件证券公司内部证券公司内部证券公司内部证券公司内部“
7、信息孤岛群信息孤岛群信息孤岛群信息孤岛群“实例实例实例实例为什么需要数据仓库技术为什么需要数据仓库技术2023/2/259Data Mining:Concepts and Techniques其次,其次,业务数据数据库缺乏缺乏统一的定一的定义与与规划,划,导致数据致数据定定义存在歧存在歧义证券交易数据库证券交易数据库客户信息表客户信息表acc-_num char(10)CRM数据库数据库客户信息表客户信息表acc-_num char(10)字段定义相同,但含义不同字段定义相同,但含义不同字段定义相同,但含义不同字段定义相同,但含义不同为什么需要数据仓库技术2023/2/2510Data Min
8、ing:Concepts and Techniques上交所行情数据库上交所行情数据库S1 char(6)深交所行情数据库深交所行情数据库hqzy char(6)字段名称不同,但含义相同字段名称不同,但含义相同字段名称不同,但含义相同字段名称不同,但含义相同为什么需要数据仓库技术2023/2/2511Data Mining:Concepts and Techniques.主主题不明确不明确 建立建立传统数据数据库的目的是的目的是为了了满足事物足事物处理理的需求,的需求,库和表的定和表的定义完全以此完全以此为基基础进行,行,对数据分析而数据分析而言缺少明确的言缺少明确的主主题。、分析、分析处理效
9、率低理效率低为什么需要数据仓库技术2023/2/2512Data Mining:Concepts and Techniques进一步整合现有的数据企业范围内的信息共享企业范围内的信息共享准确、一致的集成数据准确、一致的集成数据n快速访问快速访问n精确、灵活分析精确、灵活分析解决方案:解决方案:引入数据仓库、联机分析引入数据仓库、联机分析处理和数据挖掘等技术处理和数据挖掘等技术为什么需要数据仓库技术为什么需要数据仓库技术2023/2/2513Data Mining:Concepts and Techniques数据仓库的定义 数据数据仓库之父之父Bill Inmon在在1991年出版的年出版的“
10、Building the Data Warehouse”(建立数建立数据据仓库)数据仓库(数据仓库(Data WarehouseData Warehouse)是一个)是一个面向主题面向主题的的(Subject Oriented Subject Oriented)、)、集成的集成的(IntegratedIntegrated)、)、相对稳定的(相对稳定的(Non-VolatileNon-Volatile)、)、反映历史变化反映历史变化(Time VariantTime Variant)的数据集合)的数据集合,用,用于支持管理决策和信息的全局共享。于支持管理决策和信息的全局共享。什么是数据仓库什么是
11、数据仓库2023/2/2514Data Mining:Concepts and Techniques注意注意:数据数据仓库是一个是一个过程而不是一个程而不是一个项目;目;数据数据仓库是一个是一个环境,而境,而 不是不是 一件一件产品。品。数据数据仓库提供用提供用户用于决策支持的当前和用于决策支持的当前和历史数据史数据,这些数据在些数据在传统的操作型数据的操作型数据库中很中很难或不能得到。或不能得到。数据数据仓库技技术是是为了有效的把了有效的把操作形数据集成到操作形数据集成到统一的一的环境中以提供决策型数据境中以提供决策型数据访问,的各种技,的各种技术和和模模块的的总称。所做的一切都是称。所做的
12、一切都是为了了让用用户更快更方更快更方便便查询所需要的信息,提供决策支持所需要的信息,提供决策支持 2023/2/2515Data Mining:Concepts and Techniques 数据数据仓库的特点的特点1.面向主面向主题的的 主主题:在在较高高层次上将企次上将企业信息系信息系统中的数据中的数据综合、合、归类并并进行分析利用的抽象;在行分析利用的抽象;在逻辑意意义上,它上,它对应企企业中某一宏中某一宏观分析分析领域所涉及的分析域所涉及的分析对象。象。2023/2/2516Data Mining:Concepts and Techniques数据仓库的特点:面向主题寿险寿险财产险财
13、产险机动车险机动车险客户客户s操作型数据库是面向特殊操作型数据库是面向特殊处理任务,各个系统之间处理任务,各个系统之间各自分离各自分离s数据仓库是按照一定的数据仓库是按照一定的主主题域题域进行组织。一个主题进行组织。一个主题通常与多个操作型信息系通常与多个操作型信息系统相关。统相关。操作型数据库操作型数据库数据仓库数据仓库2023/2/2517Data Mining:Concepts and Techniques2 2、集成的、集成的 数据数据仓库中的数据是在中的数据是在对原有分散的数据原有分散的数据库数据数据抽取、清理的基抽取、清理的基础上上经过系系统加工、加工、汇总和整理得和整理得到的到的
14、,必,必须消除源数据中的不一致性,以保消除源数据中的不一致性,以保证数据数据仓库内的信息是关于整个企内的信息是关于整个企业的一致的全局信息。的一致的全局信息。2023/2/2519Data Mining:Concepts and Techniques数据仓库的特点:集成的面向特定应用面向特定应用集成的集成的s每一个数据库面向特定的每一个数据库面向特定的应用,各类应用(包括其应用,各类应用(包括其相关的数据库)之间相互相关的数据库)之间相互独立。独立。s数据仓库中的数据面向整个企数据仓库中的数据面向整个企业的分析处理,数据仓库中的业的分析处理,数据仓库中的数据是已经集成了的,消除了数据是已经集成
15、了的,消除了数据的不一致性。数据的不一致性。操作型数据库操作型数据库数据仓库数据仓库2023/2/2520Data Mining:Concepts and Techniques3、反映、反映历史史变化化 数据数据仓库中的数据通常包含中的数据通常包含历史信息,系史信息,系统记录了企了企业从从过去某一去某一时点点(如开始如开始应用数据用数据仓库的的时点点)到目前的各个到目前的各个阶段的信息,通段的信息,通过这些信息,可些信息,可以以对企企业的的发展展历程和未来程和未来趋势做出定量分析和做出定量分析和预测。2023/2/2522Data Mining:Concepts and Techniques数
16、据仓库的特点:反映历史变化s主要关心当前数据主要关心当前数据s通常包含历史数据通常包含历史数据操作型数据库操作型数据库数据仓库数据仓库2023/2/2523Data Mining:Concepts and Techniques4 4、相对稳定的、相对稳定的 数据数据仓库的数据主要供企的数据主要供企业决策分析之用,所涉决策分析之用,所涉及的数据操作主要是数据及的数据操作主要是数据查询,一旦某个数据,一旦某个数据进入入数据数据仓库以后,一般情况下将被以后,一般情况下将被长期保留,也就是期保留,也就是数据数据仓库中一般有大量的中一般有大量的查询操作,但操作,但修改和修改和删除除操作很少,通常只需要操
17、作很少,通常只需要定期的加定期的加载、刷新。、刷新。2023/2/2525Data Mining:Concepts and Techniques数据仓库的特点:相对稳定的modifydeleteinsertupdateLoad/Update在某个时间段内保持相对稳定在某个时间段内保持相对稳定s实时更新,数据根据需实时更新,数据根据需要及时发生变化要及时发生变化s定期加载,加载后的数据极少定期加载,加载后的数据极少更新。更新。实时更新实时更新操作型数据库操作型数据库数据仓库数据仓库2023/2/2526Data Mining:Concepts and Techniques数据库技术与数据仓库技术
18、数据库技术数据库技术在系统功能和性能需求在系统功能和性能需求n强调的是多用户环境下如何针对并发用户的增强调的是多用户环境下如何针对并发用户的增删改操作,保证数据的一致性和可恢复性,删改操作,保证数据的一致性和可恢复性,并并发用户的吞吐量发用户的吞吐量为数据库管理系统的重要性能为数据库管理系统的重要性能指标指标数据仓库技术数据仓库技术在系统功能和性能需求在系统功能和性能需求n强调的是大数据量环境下的高效、快速查询,强调的是大数据量环境下的高效、快速查询,查询的吞吐量查询的吞吐量为数据仓库管理系统的重要性能为数据仓库管理系统的重要性能指标指标 2023/2/2527Data Mining:Conc
19、epts and Techniques传统数据库与数据仓库的比较比较项目比较项目 传统数据库传统数据库 数据仓库数据仓库总体特征总体特征 围绕高效的事务处理围绕高效的事务处理 以提供决策为目标以提供决策为目标存储内容存储内容 以当前数据为主以当前数据为主 历史、存档、归纳历史、存档、归纳面向用户面向用户 普通业务处理人员普通业务处理人员 高级决策管理人员高级决策管理人员功能目标功能目标 面向业务操作,注重实时面向业务操作,注重实时 面向主题,注重分析面向主题,注重分析汇总情况汇总情况 原始数据原始数据 多层次汇总,数据细节损失多层次汇总,数据细节损失数据结构数据结构 结构化程度高,适合运算结构
20、化程度高,适合运算 结构化程度适中结构化程度适中。2023/2/2528Data Mining:Concepts and TechniquesOLTPOLTP与与OLAPOLAP1.OLTP(OnLine Transaction Processing)联机事机事务处理系理系统,它是事件,它是事件驱动、面向、面向应用的。用的。例如例如银行的行的储蓄系蓄系统就是一个典型的就是一个典型的OLTP系系统。其特点是:其特点是:对响响应时间要求非常高;要求非常高;用用户数量非常数量非常庞大,主要是操作人大,主要是操作人员;数据数据库的各种操作基于索引的各种操作基于索引进行行n关系数据库满足了联机事务处理(
21、关系数据库满足了联机事务处理(OLTPOLTP)的要)的要求求2023/2/2529Data Mining:Concepts and Techniques2.OLAP2.OLAP(OnLine Analytical ProcessingOnLine Analytical Processing)-)-联机联机分析处理是基于数据仓库的信息分析处理过程,分析处理是基于数据仓库的信息分析处理过程,是数据仓库的是数据仓库的用户接口部分。用户接口部分。OLAPOLAP系统是系统是跨越部门跨越部门、面向主题面向主题的。的。其基本特点是:其基本特点是:基础数据来源于信息系统中的操作数据;基础数据来源于信息系统
22、中的操作数据;响应时间合理;响应时间合理;用户数量相对较少,主要是业务决策与管理人用户数量相对较少,主要是业务决策与管理人员;员;数据库的各种操作不能完全基于索引进行。数据库的各种操作不能完全基于索引进行。2023/2/2530Data Mining:Concepts and TechniquesOLTP与OLAP的比较OLTPOLAP用户用户面向操作人员,支持日常操面向操作人员,支持日常操作作 面向决策人员,支持管理需要面向决策人员,支持管理需要 用途用途 面向应用,事务驱动面向应用,事务驱动 面向分析,分析驱动面向分析,分析驱动 数据情况数据情况 当前值数据,细节性数据当前值数据,细节性数
23、据 历史数据历史数据,综合数据,综合数据一次处理数据量一次处理数据量小小 大大 访问更新访问更新可更新可更新 大量查询,极少更新,但周期性大量查询,极少更新,但周期性刷新刷新 用户量用户量大大小小数据规模数据规模100M-1GB100GB-TB考察角度考察角度事务吞吐量事务吞吐量查询吞吐量,响应时间查询吞吐量,响应时间2023/2/2531Data Mining:Concepts and TechniquesOLTP vs.OLAPP692023/2/2532Data Mining:Concepts and TechniquesChapter 3:Data Warehousing and OL
24、AP Technology:An OverviewWhat is a data warehouse?A multi-dimensional data modelData warehouse architectureData warehouse implementationFrom data warehousing to data mining2023/2/2533Data Mining:Concepts and Techniques第三章 数据仓库与OLAP技术概述什么是数据仓库 多维数据模型设计仓库体系结构数据仓库实现从数据仓库到数据挖掘2023/2/2534Data Mining:Conc
25、epts and Techniques从表到数据立方体设计仓库建立在多维数据模型上,以数据立方体的方式来观察数据A data cube,such as sales,allows data to be modeled and viewed in multiple dimensionsnDimension tables,such as item(item_name,brand,type),or time(day,week,month,quarter,year)nFact table contains measures(such as dollars_sold)and keys to each of
26、 the related dimension tablesIn data warehousing literature,an n-D base cube is called a base cuboid(基本立方体).The top most 0-D cuboid,which holds the highest-level of summarization,is called the apex cuboid(顶点立方体).The lattice of cuboids forms a data cube.2023/2/2535Data Mining:Concepts and TechniquesC
27、ube:A Lattice of Cuboidstime,itemtime,item,locationtime,item,location,supplieralltimeitemlocationsuppliertime,locationtime,supplieritem,locationitem,supplierlocation,suppliertime,item,suppliertime,location,supplieritem,location,supplier0-D(apex)cuboid1-D cuboids2-D cuboids3-D cuboids4-D(base)cuboid2
28、023/2/2536Data Mining:Concepts and TechniquesConceptual Modeling of Data WarehousesModeling data warehouses:dimensions&measuresnStar schema:A fact table in the middle connected to a set of dimension tables nSnowflake schema:A refinement of star schema where some dimensional hierarchy is normalized i
29、nto a set of smaller dimension tables,forming a shape similar to snowflakenFact constellations:Multiple fact tables share dimension tables,viewed as a collection of stars,therefore called galaxy schema or fact constellation 2023/2/2537Data Mining:Concepts and Techniques常见的概念模型常用的概念数据模型有:常用的概念数据模型有:n
30、星形模型星形模型n雪花模型雪花模型n事事实星座模型星座模型2023/2/2538Data Mining:Concepts and Techniques1.星形模型 星形模型星形模型简洁,可以很准确地反映出各,可以很准确地反映出各实体之体之间的的逻辑关系,并依据关系,并依据实体的重要程体的重要程度,将度,将这种关系展示出来。种关系展示出来。星形模型由以下两部分构成:星形模型由以下两部分构成:n事事实表表n维度表度表2023/2/2539Data Mining:Concepts and Techniques事事实表表 是星形模型的中心是星形模型的中心 包含有大量的数据包含有大量的数据 具有具有较小
31、的(或没有)冗余度小的(或没有)冗余度 数据只需追加,不数据只需追加,不进行修改行修改维度表度表 是事是事实表的附属表表的附属表 一个事一个事实表表拥有一有一组维度表度表 每个每个维度表通度表通过主主键与事与事实表相表相连,维度度表之表之间通通过事事实表的中介相表的中介相联系系2023/2/2540Data Mining:Concepts and TechniquesExample of Star Schema time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountry
32、locationSales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranchP73 例3-12023/2/2541Data Mining:Concepts and Techniques2.雪花模型 雪花模型是星形模型的拓展,在事雪花模型是星形模型的拓展,在事实表和表和维度表的基度表的基础上,增加了
33、一上,增加了一类新表新表“详细类别表表”,用于,用于对维度表度表进行描述。行描述。雪花模型的雪花模型的维度表具有度表具有较小的数据冗余,小的数据冗余,易于易于维护,节省存省存储空空间,具有,具有较高的灵高的灵活性。活性。2023/2/2542Data Mining:Concepts and TechniquesExample of Snowflake Schematime_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationSales Fact Table time_key item_key br
34、anch_key location_key units_sold dollars_sold avg_salesMeasuresitem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity2023/2/2543Data Mining:Concepts and TechniquesExample of Fact Constellationtime_keyd
35、ayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationSales Fact Tabletime_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranchShipping Fact Tabletime_key i
36、tem_key shipper_key from_location to_location dollars_cost units_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper2023/2/2544Data Mining:Concepts and TechniquesCube Definition Syntax(BNF)in DMQLCube Definition(Fact Table)define cube :Dimension Definition(Dimension Table)define dimension
37、as()Special Case(Shared Dimension Tables)nFirst time as“cube definition”ndefine dimension as in cube 2023/2/2545Data Mining:Concepts and TechniquesDefining Star Schema in DMQLdefine cube sales_star time,item,branch,location:dollars_sold=sum(sales_in_dollars),avg_sales=avg(sales_in_dollars),units_sol
38、d=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_type)define dimension branch as(branch_key,branch_name,branch_type)define dimension location as(location_key,street,city,province_or_state,country)2023/2/254
39、6Data Mining:Concepts and TechniquesDefining Snowflake Schema in DMQLdefine cube 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
40、as(item_key,item_name,brand,type,supplier(supplier_key,supplier_type)define dimension branch as(branch_key,branch_name,branch_type)define dimension location as(location_key,street,city(city_key,province_or_state,country)2023/2/2547Data Mining:Concepts and TechniquesDefining Fact Constellation in DMQ
41、Ldefine cube sales 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_type)define dimension branch as(bran
42、ch_key,branch_name,branch_type)define dimension location as(location_key,street,city,province_or_state,country)define cube shipping 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 it
43、em in cube salesdefine dimension shipper as(shipper_key,shipper_name,location as location in cube sales,shipper_type)define dimension from_location as location in cube salesdefine dimension to_location as location in cube sales2023/2/2548Data Mining:Concepts and Techniques数据立方体的三种度量(P76)Distributive
44、:if the result derived by applying the function to n aggregate values is the same as that derived by applying the function on all the data without partitioningnE.g.,count(),sum(),min(),max()Algebraic:if it can be computed by an algebraic function with M arguments(where M is a bounded integer),each o
45、f which is obtained by applying a distributive aggregate functionnE.g.,avg(),min_N(),standard_deviation()Holistic:if there is no constant bound on the storage size needed to describe a subaggregate.nE.g.,median(),mode(),rank()分布的代数的整体的2023/2/2549Data Mining:Concepts and TechniquesA Concept Hierarchy
46、:Dimension(location)allEuropeNorth_AmericaMexicoCanadaSpainGermanyVancouverM.WindL.Chan.allregionofficecountryTorontoFrankfurtcity2023/2/2550Data Mining:Concepts and TechniquesView of Warehouses and HierarchiesSpecification of hierarchiesSchema hierarchyday month quarter;week yearSet_grouping hierar
47、chy1.10=minsupMotivationnOnly a small portion of cube cells may be“above the water in a sparse cubenOnly calculate“interesting”cellsdata above certain thresholdnAvoid explosive growth of the cubenSuppose 100 dimensions,only 1 base cell.How many aggregate cells if count=1?What about count=2?2023/2/25
48、71Data Mining:Concepts and TechniquesIndexing OLAP Data:Bitmap IndexIndex on a particular columnEach value in the column has a bit vector:bit-op is fastThe length of the bit vector:#of records in the base tableThe i-th bit is set if the i-th row of the base table has the value for the indexed column
49、not suitable for high cardinality domainsBase tableIndex on RegionIndex on Type2023/2/2572Data Mining:Concepts and TechniquesIndexing OLAP Data:Join IndicesJoin index:JI(R-id,S-id)where R(R-id,)S(S-id,)Traditional indices map the values to a list of record idsnIt materializes relational join in JI f
50、ile and speeds up relational join In data warehouses,join index relates the values of the dimensions of a start schema to rows in the fact table.nE.g.fact table:Sales and two dimensions city and productnA join index on city maintains for each distinct city a list of R-IDs of the tuples recording the