资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),*,数据仓库和数据挖掘的OLAP技术(武汉大学-李春葆),2024/8/23,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库和数据挖掘的OLAP技术(武汉大学-李春葆)2023,1,数据仓库数据挖掘的有效平台。,数据仓库中的数据清理和数据集成,是数据挖掘的重要数据预处理步骤。,数据仓库提供OLAP工具,可用于不同粒度的数据分析。,很多数据挖掘功能都可以和OLAP操作集成,以提供不同概念层上的知识发现。,分类,预测,关联,聚集,2.1 什么是数据仓库,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库数据挖掘的有效平台。数据仓库中的数据清理和数据集成,2,20世纪80年代中期,“数据仓库”这个名词首次出现在号称“数据仓库之父”W.H.Inmon的Building Data Warehouse一书中。,在该书中,W.H.Inmon把数据仓库定义为“,一个面向主题的、集成的、稳定的、随时间变化的数据的集合,以用于支持管理决策过程,”。,2.1.1 数据仓库的定义,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),20世纪80年代中期,“数据仓库”这个名词首次出现,3,数据仓库还有许多不同的定义,如:,“,数据仓库是融合方法、技术和工具以在完整的平台上将数据提交给终端用户的一种手段,”。,“,数据仓库是对分布在企业内部各处的业务数据的整合、加工和分析的过程,”。,“,数据仓库是一种具有集成性、稳定性和提供决策支持的处理,”。,“,为查询和分析(不是事务处理)而设计的关系数据库,”,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库还有许多不同的定义,如:数据仓库和数据挖掘的OL,4,在众多的数据仓库定义中,公认的仍然是W.H.Inmon的定义,该定义指出了数据仓库,面向主题、集成、稳定、随时间变化,这4个最重要的特征。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),在众多的数据仓库定义中,公认的仍然是W.H.Inmon的,5,(1)面向主题,主题,就是在一个较高的管理层次上对信息系统的数据按照某一具体的管理对象进行综合、归类所形成的分析对象。,如顾客、供应商、产品和销售组织等,。,从数据组织的角度看,,主题是一些数据集合,,这些数据集合对分析对象作了比较完整的、一致的描述,这种描述不仅涉及到数据自身,而且涉及到数据之间的关系。,面向主题的数据组织方式,就是在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一地刻画各个分析对象所涉及的企业的各项数据,以及数据之间的联系。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(1)面向主题数据仓库和数据挖掘的OLAP技术(武汉大学李春,6,(2)集成,数据仓库中存储的数据一般从企业原来已建立的数据库系统中提取出来,但并不是原有数据的简单拷贝,而是经过了,抽取、筛选、清理、综合,等工作。这是因为:,1) 原有数据库系统记录的是每一项业务处理的流水帐,这些数据不适合于分析处理。在进入数据仓库之前必须经过综合、计算,同时抛弃一些分析处理不需要的数据项,必要时还要增加一些可能涉及的外部数据。,2) 数据仓库每一个主题所对应的源数据在源分散数据库中有许多重复或不一致之处,必须将这些数据转换成全局统一的定义,消除不一致和错误之处,以保证数据的质量;显然,对不准确,甚至不正确的数据分析得出的结果将不能用于指导企业做出科学的决策。,3) 源数据加载到数据仓库后,还要根据决策分析的需要对这些数据进行概括、聚集处理。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(2)集成数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),7,(3)稳定性即非易失的,业务系统的数据库中一般只存储短期数据,因此在数据库系统中数据是不稳定的,它记录的是系统中数据变化的瞬态。,但对于决策分析而言,历史数据是相当重要的,许多分析方法必须以大量的历史数据为依托。没有大量历史数据的支持是难以进行企业的决策分析的,因此,数据仓库中的数据大多表示过去某一时刻的数据,,主要用于查询、分析,不像业务系统中的数据库那样,要经常进行修改、添加,除非数据仓库中的数据是错误的。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(3)稳定性即非易失的数据仓库和数据挖掘的OLAP技术(武汉,8,(4)随时间而变化即时变的,数据仓库中数据是批量载入的,是稳定的,这使得数据仓库中的数据总是拥有时间维度。,从这个角度,,数据仓库实际是记录了系统的各个瞬态,,并通过将各个瞬态连接起来形成动画,从而在数据分析的时候再现系统运动的全过程。数据批量载入(提取)的周期实际上决定了动画间隔的时间,数据提取的周期短,则动画的速度快。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(4)随时间而变化即时变的数据仓库和数据挖掘的OLAP技术(,9,2.1.2 数据仓库与操作数据库系统的区别,操作数据库系统的主要任务是联机事务处理OLTP,日常操作: 购买,库存,银行,制造,工资,注册,记帐等。,数据仓库的主要任务是联机分析处理OLAP,数据分析和决策支持,支持以不同的形式显示数据以满足不同的用户需要。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.1.2 数据仓库与操作数据库系统的区别操作数据库系统的主,10,OLTP 和OLAP的比较 (1/3),用户和系统的面向性,面向顾客(事务),面向市场(分析)。,数据内容,当前的、详细的数据,历史的、汇总的数据。,数据库设计,实体联系模型(ER)和面向应用的数据库设计,星型/雪花模型和面向主题的数据库设计。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),OLTP 和OLAP的比较 (1/3)用户和系统的面向性数据,11,OLTP 和OLAP的比较(2),数据视图,当前的、企业内部的数据,经过演化的、集成的数据。,访问模式,事务操作,只读查询(但很多是复杂的查询),任务单位,简短的事务,复杂的查询。,访问数据量,数十个,数百万个。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),OLTP 和OLAP的比较(2)数据视图数据仓库和数据挖掘的,12,OLTP和OLAP的比较(3),用户数,数千个,数百个。,数据库规模,100M数GB,100GB数TB。,设计优先性,高性能、高可用性,高灵活性、端点用户自治。,度量,事务吞吐量,查询吞吐量、响应时间。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),OLTP和OLAP的比较(3)用户数数据仓库和数据挖掘的OL,13,2.1.3 为什么需要一个分离的数据仓库?,提高两个系统的性能,DBMS是为OLTP而设计的:存储方式、索引、 并发控制和 恢复。,数据仓库是为OLAP而设计:复杂的 OLAP查询、 多维视图和汇总。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.1.3 为什么需要一个分离的数据仓库?提高两个系统的性能,14,不同的功能和不同的数据:,历史数据:决策支持需要历史数据,而这些数据在操作数据库中一般不会去维护。,数据汇总:决策支持需要将来自异种源的数据统一(如聚集和汇总)。,数据质量:不同的源使用不一致的数据表示、编码和格式,对这些数据进行有效的分析需要将他们转化后进行集成。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),不同的功能和不同的数据:数据仓库和数据挖掘的OLAP技术(武,15,2.1.4 数据仓库中的关键名词,1. ETL(Extract/Transformation/Load)数据抽取、转换、加载工具,ETL工具就是进行数据的抽取、转换和加载工具。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.1.4 数据仓库中的关键名词1. ETL(Extra,16,(1)数据提取(Data Extract),从业务数据库只需提取出系统分析必需的那一部分数据。例如,某超市确定以分析客户的购买行为为主题建立数据仓库,则我们只需将与客户购买行为相关的数据提取出来,而超市服务员工的数据就没有必要放进数据仓库。,现有的数据仓库产品几乎都提供各种关系型数据接口,提供提取引擎,从关系型数据中提取数据。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(1)数据提取(Data Extract)数据仓库和数据挖掘,17,(2)数据转换(Data Transform),由于业务系统可能使用不同的数据库厂商的产品,比如IBM DB2、Oracle、Informix、Sybase、 NCR Teradata、 SQL Server等,各种数据库产品提供的数据类型可能不同,因此需要将不同格式的数据转换成统一的数据格式。如时间格式“年/月/日”,“月/日/年”、“日-月-年”的不一致问题等。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(2)数据转换(Data Transform)数据仓库,18,(3)数据清洗(Data Clean),所谓“清洗”就是将错误的、不一致的数据在进入数据仓库之前予以更正或删除,以免影响决策支持系统决策的正确性。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(3)数据清洗(Data Clean)数据仓库和数据挖掘,19,(4) 数据加载(Data Load),数据加载部件负责将数据按照物理数据模型定义的表结构装入数据仓库,包括清空数据域、填充空格、有效性检查等步骤。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(4) 数据加载(Data Load)数据仓库和数据挖掘,20,2. 元数据(MetaData),“什么是元数据?”元数据是,描述数据的数据,。,在数据仓库中,元数据是定义数据仓库对象的数据。元数据包括相应数据仓库的数据名和定义、数据提取操作时被提取数据的时间和地点以及数据清理或数据集成过程添加的字段等。它提供了有关数据的环境,用于构造、维持、管理、和使用数据仓库,在数据仓库中尤为重要。,CREATE TABLE student, no int;,name char(10);,sex char(2);,class char(8);,no,name,sex,class,1,张三,男,1301,数据,数据的数据:元数据,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2. 元数据(MetaData)CREATE TABLE,21,3. 数据集市(Data Market),数据仓库中存放的是整个企业的信息,并且数据是按照不同主题来组织的。比如市场发展规律的分析主题主要由市场部门的人员使用,我们可以在逻辑上或者物理上将这部分数据分离出来,当市场部门人员需要信息时,不需要到数据仓库的巨量数据中检索,而只需在相应的部门数据上进行分析,因此从效率和处理速度的角度出发,这种划分是合算的。,这种面向企业中的某个部门(主题)而,在逻辑上或物理上划分出来的数据仓库中的数据子集,称为,数据集市,。换句话说,数据集市包含了用于特殊目的数据仓库的部分数据。,数据仓库面向整个企业,而数据集市则是面向企业中的某个部门。典型示例是销售部门、库存和发货部门、财务部门和高级管理部门等的数据集市。数据仓库中存放了企业的整体信息,而数据集市只存放了某个主题需要的信息,其目的是减少数据处理量,使信息的利用更快捷、灵活。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),3. 数据集市(Data Market)数据仓库和数,22,4. OLAP,OLAP(On-line Analytical Processing,在线分析处理或联机分析处理)就是一个应用广泛的数据仓库使用技术。,它可以根据分析人员的要求,迅速灵活地对大量的数据进行复杂的查询处理,并以直观的容易理解的形式将查询结果提供给各种决策人员,使他们能够迅速准确地掌握企业的运营情况,了解市场的需求。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),4. OLAP数据仓库和数据挖掘的OLAP技术(武汉大学李,23,2.2 多维数据模型,2.2.1 由表到数据立方体,数据仓库和OLAP工具基于多维数据模型。,在多维数据模型中,数据以数据立方体(data cube)的形式存在。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2 多维数据模型2.2.1 由表到数据立方体数据仓库,24,数据立方体允许以多维数据建模和观察。它由维和事实定义。,维是人们观察数据的特定角度,是考虑问题时的一类属性。属性的集合构成一个维(如时间维、机构维等)。,维分层:同一维度还可以在细节程度不同的各个描述方面(如时间维可包含年、季度、月份和日期等)。,维属性:维的一个取值,是数据项在某维中位置的描述(如2013年11月2日在时间维上位置的描述),。,每个维都有一个表与之相关联,称为维表。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据立方体允许以多维数据建模和观察。它由维和事实定义。数据仓,25,一个数据立方体:,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),一个数据立方体:数据仓库和数据挖掘的OLAP技术(武汉大学李,26,多维数据模型围绕中心主题组织,该主题用事实表表示,。,事实表包括事实的名称或度量以及每个相关维表的关键字。,事实指的是一些数字度量。,学生,课程,分数,1001,2001,89,1002,2002,83,1005,2004,90,学号,姓名,班号,1,张三,1201,学生,1001,课程,编号,名称,2001,1,C+,学生维表,成绩事实表,课程维表,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),多维数据模型围绕中心主题组织,该主题用事实表表示。学生课程分,27,OLTP系统是为了快速回答简单查询,而不是为了存储分析趋势的历史数据而创建的。一般的OLTP提供了大量的原始数据,这些数据不易被分析。,查询某人买房记录。,查询某房的价值。,一个英国房屋销售系统:,两个系统数据组织模式比较示例1,来源于事务型的数据库,如采用关系型数据库进行数据存储,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),OLTP系统是为了快速回答简单查询,而不是为了存储分析趋,28,数据仓库需要回答更复杂的查询,而不仅仅是一些像“英国主要城市的商品平均销售价格是多少”之类的简单聚集数据查询。,数据仓库需要回答的查询类型可以是简单的查询,也可以是,高度复杂,的,且还与终端用户使用的查询工具相关。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库需要回答更复杂的查询,而不仅仅是一些像“英国主要,29,2008年第三季度,整个英格兰的总收入是多少?,2007年英国每一类房产销售的总收入是多少?,2008年租借房产业务中每个城市哪个地域最受欢迎?与过去的两年相比有何不同?,每个分支机构本月的房产销售月收入是多少,并与刚过去的12个月相比较。,如果对于10万英镑以上的房产,法定价格上升3.5%而政府税收下降1.5%,对英国不同区域的销售会产生什么影响?,在英国主要城市中,哪种类型的房产销售价格高于平均房产销售价格?这与人口统计数据有何联系?,英国房屋销售数据仓库系统:,来源于已处理的或汇总的数据,要预先采用数据结构如多维模型存放这些汇总的数据。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2008年第三季度,整个英格兰的总收入是多少?英国房屋销售数,30,两个系统数据组织模式比较示例2,数据库系统,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),两个系统数据组织模式比较示例2数据库系统数据仓库和数据挖掘,31,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),32,面向“商品”、“供应商”和“顾客”的数据仓库系统,商品数据仓库结构,供应商数据仓库结构,顾客数据仓库结构,来源于的前面的多个表的数据,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),面向“商品”、“供应商”和“顾客”的数据仓库系统商品数据仓库,33,从上述实例,不难看出:,在从面向应用到面向主题的转变过程中,丢弃了原来有的但不必要的、不适于分析的信息;,在原有的数据库模式中,有关商品的信息分散在各个子系统之中;面向主题的数据组织方式所强调的就是要形成关于主题一致的信息集合;,不同主题之间有重叠内容。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),从上述实例,不难看出:在从面向应用到面向主题的转变过程中,丢,34,2.2.2 多维数据模型,time_key,day,day_of_the_week,month,quarter,year,time 维表,location_key,street,city,state_or_province,country,location 维表,Sales 事实表,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,item_key,item_name,brand,type,supplier_type,item 维表,branch_key,branch_name,branch_type,branch 维表,数据仓库:事实表维表,度量,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2.2 多维数据模型 time_keytime 维,35,在数据仓库中,数据立方体是n-D的(n维),(关系表和电子表格是几维的?),多维数据模型为不同角度上的数据建模和观察提供了一个良好的基础。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),在数据仓库中,数据立方体是n-D的(n维)数据仓库和数据挖掘,36,示例,AllElectronics的销售数据按维time, item的2-D视图。,location“Vancouver“,(,温哥华 ),item,(,类型,),time,(,季度,),家庭娱乐,计算机电话安全,Q160582514400,Q268095231512,Q38121023 30 501,Q49271038 38 580,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例location“Vancouver“(温哥华 )it,37,AllElectronics的销售数据按维time, item和location的3-D视图。,location, “Chicage”,item,time,家庭娱乐 计算机 电话 安全,Q1854 88289623,Q2943 89064698,Q31032924 59789,Q41129992 63870,location “New York”,item,time,家庭娱乐 计算机 电话 安全,Q11087 96838623,Q2943 89064698,Q31032924 59789,Q41129992 63870,.,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),AllElectronics的销售数据按维time, ite,38,AllElectronics的销售数据按维time、 item和location的3-D视图的3-D数据立方体表示。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),AllElectronics的销售数据按维ti,39,销售数据的4-D立方体表示。,4维分别是time、item、location和supplier。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),销售数据的4-D立方体表示。4维分别是time、item、l,40,一个n维的数据的立方体叫做,基本立方体,。,给定一个维的集合,我们可以构造一个立方体的格,每个都在不同的汇总级或不同的数据子集显示数据,立方体的格称为,数据立方体,。0维立方体存放最高层的汇总,称作顶点立方体;而存放最底层汇总的立方体则称为基本立方体。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),一个n维的数据的立方体叫做基本立方体。数据仓库和数据挖掘的O,41,数据立方体格,all,time,item,location,supplier,time,item,time,location,time,supplier,item,location,item,supplier,location,supplier,time,item,location,time,item,supplier,time,location,supplier,item,location,supplier,time, item, location, supplier,0维顶点立方体,1维立方体,2维立方体,3维立方体,4维基本立方体,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据立方体格alltimeitemlocationsuppl,42,i,-1维立方体,i,维立方体,上卷,下钻,i,越大,数据越细,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),i-1维立方体i维立方体上卷下钻i越大,数据越细数据仓库和数,43,2.2.3 数据仓库的概念模型,最流行的数据仓库概念模型是多维数据模型。这种模型可以以星型模式、雪花模式、或事实星座模式的形式存在。,星型模式(Star schema),: 事实表在中心,周围围绕地连接着维表(每维一个),事实表含有大量数据,没有冗余。,1. 星型模式,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2.3 数据仓库的概念模型最流行的数据仓库概念模,44,星型模式实例,time_key,day,day_of_the_week,month,quarter,year,time,location_key,street,city,state_or_province,country,location,sales事实表,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,item_key,item_name,brand,type,supplier_type,item,branch_key,branch_name,branch_type,branch,维表,度量,维表,维表,维表,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),星型模式实例 time_keytimelocation_,45,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),46,雪花模式(Snowflake schema),: 是星型模式的变种,其中某些维表是规范化的,因而把数据进一步分解到附加表中。结果,模式图形成类似于雪花的形状。,2. 雪花模式,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),雪花模式(Snowflake schema): 是星型模式,47,雪花模式实例,time_key,day,day_of_the_week,month,quarter,year,time,location_key,street,city_key,location,sales事实表,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,item_key,item_name,brand,type,supplier_key,item,branch_key,branch_name,branch_type,branch,supplier_key,supplier_type,supplier,city_key,city,state_or_province,country,city,星型模式,雪花模式,维表规格化,维表,度量,维表,维表,维表,维表,维表,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),雪花模式实例time_keytimelocation_key,48,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),49,事实星座(Fact constellations),: 多个事实表共享维表, 这种模式可以看作星型模式集,因此称为星系模式(galaxy schema),或者事实星座(fact constellation) 。,2. 事实星座模式,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),事实星座(Fact constellations): 多个事,50,事实星座模式实例,time_key,day,day_of_the_week,month,quarter,year,time,location_key,street,city,province_or_state,country,location,sales事实表,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,item_key,item_name,brand,type,supplier_type,item,branch_key,branch_name,branch_type,branch,航运事实表,time_key,item_key,shipper_key,from_location,to_location,dollars_cost,units_shipped,shipper_key,shipper_name,location_key,shipper_type,shipper,星型/雪花模式,事实模式,多个事实表共享维表,度量,维表,维表,维表,维表,维表,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),事实星座模式实例time_keytimelocation_k,51,2.2.4 一种数据仓库查询语言: DMQL,DMQL首先包括定义数据仓库和数据集市的语言原语,这包括两种原语定义:一种是立方体定义,一种是维定义,立方体定义 (事实表),define cube : ,维定义 (维表),define dimension as (),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2.4 一种数据仓库查询语言: DMQLDMQL首先包括,52,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),53,实例:使用DMQL定义星型模式,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,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),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),实例:使用DMQL定义星型模式define cube sal,54,星型模式实例,time_key,day,day_of_the_week,month,quarter,year,time,location_key,street,city,state_or_province,country,location,sales事实表,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,item_key,item_name,brand,type,supplier_type,item,branch_key,branch_name,branch_type,branch,维表,度量,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),星型模式实例 time_keytimelocation_,55,实例:使用DMQL定义雪花模式,define 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,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),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),实例:使用DMQL定义雪花模式define cube sal,56,雪花模式实例,time_key,day,day_of_the_week,month,quarter,year,time,location_key,street,city_key,location,sales事实表,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,item_key,item_name,brand,type,supplier_key,item,branch_key,branch_name,branch_type,branch,supplier_key,supplier_type,supplier,city_key,city,state_or_province,country,city,星型模式,雪花模式,维表规格化,维表,度量,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),雪花模式实例time_keytimelocation_key,57,实例:使用DMQL定义事实星座模式,define 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,(branch_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,sales,define dimension,item,as,item,in cube,sales,define dimension,shipper,as,(shipper_key, shipper_name, location,as,location,in cube,sales, shipper_type),define dimension,from_location,as,location,in cube,sales,define dimension,to_location,as,location,in cube,sales,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),实例:使用DMQL定义事实星座模式define cube s,58,事实星座模式实例,time_key,day,day_of_the_week,month,quarter,year,time,location_key,street,city,province_or_state,country,location,sales事实表,time_key,item_key,branch_key,location_key,units_sold,dollars_sold,item_key,item_name,brand,type,supplier_type,item,branch_key,branch_name,branch_type,branch,航运事实表,time_key,item_key,shipper_key,from_location,to_location,dollars_cost,units_shipped,shipper_key,shipper_name,location_key,shipper_type,shipper,星型/雪花模式,事实模式,多个事实表共享维表,维表,度量,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),事实星座模式实例time_keytimelocation_k,59,2.2.5 度量的分类,一个数据立方体的度量是一个,数值函数,,该函数可以对数据立方体的每一个点求值。,度量可以根据其所用的聚集函数分为三类:,分布的:将函数用于n个聚集值得到的结果和将函数用于所有数据得到的结果一样。,比如:count(),sum(),min(),max()等,代数的:函数可以由一个带M个参数的代数函数计算(M为有界整数),而每个参数值都可以由一个分布的聚集函数求得。,比如:avg(),min_N(),standard_deviation(),整体的:描述函数的子聚集所需的存储没有一个常数界。,比如:median(),mode(),rank(),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2.5 度量的分类一个数据立方体的度量是一个数值函数,该,60,2.2.6 概念分层,一个,概念分层,(concept hierarchy)定义一个映射序列,将低层概念映射到更一般的高层概念,例如表示location的概念:杭州,浙江中国亚洲。,概念分层允许我们在各种抽象级审查和处理数据。,概念分层可以由系统用户、领域专家、知识工程师人工地提供,也可以根据数据分布的统计分析自动地产生。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2.6 概念分层 一个概念分层(concept hie,61,概念分层 : location维的一个概念分层,all,Europe,North_America,Mexico,Canada,Spain,Germany,Vancouver,M. Wind,L. Chan,.,.,.,.,.,.,all,region,office,country,Toronto,Frankfurt,city,许多概念分层的定义隐含在数据库的模式中。比如:location维的定义,officecitycountryregion;这些属性 按一个全序相关,形成一个层次结构:,year,day,quarter,month,week,维的属性也可以组成一个偏序,形成一个格:,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),概念分层 : location维的一个概念分层allEuro,62,price属性上的概念分层,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),price属性上的概念分层数据仓库和数据挖掘的OLAP技术(,63,概念层次是一个偏序集(H,),其中,H是概念的一个有限集,是关于H的一个偏序。,年,月,季度,日,星期,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),概念层次是一个偏序集(H,),其中,H是概念的一个有限,64,概念分层 使用,概念分层为不同级别上的数据汇总提供了一个良好的基础,综合概念分层和多维数据模型的潜力,可以对数据获得更深入的洞察力,通过在多维数据模型中,在不同的维上定义概念分层,使得用户在不同的维上从不同的层次对数据进行观察成为可能。,多维数据模型(数据立方体)使得从不同的角度对数据进行观察成为可能,而概念分层则提供了从不同层次对数据进行观察的能力;结合这两者的特征,我们可以在多维数据模型上定义各种OLAP操作,为用户从不同角度不同层次观察数据提供了灵活性。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),概念分层 使用概念分层为不同级别上的数据汇总提供了一个,65,2.2.7 多维数据模型上的OLAP操作,上卷(roll-up):汇总数据,通过一个维的概念分层向上攀升或者通过维归约。,当用维归约进行上卷时,一个或多个维由给定的数据立方体删除。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2.7 多维数据模型上的OLAP操作 上卷(roll-,66,示例:OLAP 操作上卷,在 location上卷(由 cities 到 countries汇总),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例:OLAP 操作上卷在 location上卷(由 ci,67,下钻(drill-down):上卷的逆操作,由不太详细的数据到更详细的数据,可以通过沿维的概念分层向下或引入新的维来实现 (为给定数据添加更多细节)。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),下钻(drill-down):上卷的逆操作数据仓库和数据挖掘,68,示例: OLAP 操作下钻,在 time下钻 (由 quarters 到 months细化),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例: OLAP 操作下钻在 time下钻 (由 quar,69,切片和切块(slice and dice),切片操作在给定的数据立方体的,一个维,上进行选择,导致一个子方切块操作通过对两个或多个维进行选择,定义子方。,切块操作在给定的数据立方体的,多个维,上进行选择,导致一个子方切块操作通过对两个或多个维进行选择,定义子方。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),切片和切块(slice and dice)数据仓库和数据挖掘,70,示例: OLAP 操作切片,切片条件: time=“Q2”,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例: OLAP 操作切片切片条件: time=“Q2”数,71,示例: OLAP 操作 切块,切块条件: (location=“Montreal” or “Vancouver”) and (time=“Q1” or “Q2”) and (item=“home entertainment” or “computer”),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例: OLAP 操作 切块切块条件: (locatio,72,转轴(pivot),立方体的重定位,可视化,或将一个3维立方体转化为一个2维平面序列。,转轴是一种可视化操作,通过转动当前数据的视图来提供一个数据的替代表示。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),转轴(pivot)数据仓库和数据挖掘的OLAP技术(武汉大学,73,示例: OLAP 操作转轴,转轴,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例: OLAP 操作转轴转轴数据仓库和数据挖掘的OLAP,74,其他OLAP操作,钻过(drill_across):执行涉及多个事实表的查询。,钻透(drill_through):使用关系SQL机制,钻到数据立方体的底层,到后端关系表。,其他OLAP操作可能包括列出表中最高或最低的N项,以及计算移动平均值、增长率、利润、统计函数等等。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),其他OLAP操作数据仓库和数据挖掘的OLAP技术(武汉大学李,75,2.3 数据仓库的系统结构,2.3.1 数据仓库的设计步骤和结构,设计和构造数据仓库、三层数据仓库结构。,介绍中小型数据仓库的一般设计方法。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.3 数据仓库的系统结构2.3.1 数据仓库的设计步骤和,76,数据仓库给商业分析专家提供了什么?,通过提供相关数据与信息,获得竞争优势。,通过有效地收集精确地描述组织的数据,获得生产力的提高。,通过提供不同级别(部门、市场、商业)的客户视图,协助客户关系管理。,通过追踪长期趋势、异常等,降低成本。,有效构建数据仓库的关键:理解和分析商业需求,通过提供一个商业分析框架,综合各种不同的数据使用者的视图。,1. 数据仓库设计:一个商务分析框架,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库给商业分析专家提供了什么?1. 数据仓库设计:一个商,77,数据仓库设计的四种视图,自顶向下视图,允许我们选择数据仓库所需的相关信息。,数据源视图,揭示被操作数据库系统所捕获、存储和管理的信息。,数据仓库视图,由事实表和维表所组成。,商务查询视图,从最终用户的角度透视数据仓库中的数据。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库设计的四种视图数据仓库和数据挖掘的OLAP技术(武汉,78,2. 数据仓库的设计过程,自顶向下法、自底向上法或者两者的混合方法,自顶向下法:由总体设计和规划开始,在技术成熟、商业理解透彻的情况下使用。,自底向上法:以实验和原型开始,常用在模型和技术开发的初期,可以有效的对使用的技术和模型进行评估,降低风险。,混合方法:上述两者的结合,从软件工程的观点,瀑布式方法:在进行下一步前,每一步都进行结构化和系统的分析。,螺旋式方法:功能渐增的系统的快速产生,相继版本之间间隔很短。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2. 数据仓库的设计过程自顶向下法、自底向上法或者两者的混合,79,典型的数据仓库设计过程,选取待建模的商务过程,找到所构建的数据仓库的主题,比如:销售、货运、订单等等。,选取商务过程的颗粒度,数据起始于多细的颗粒度,比如,记录每条详细订单,或是开始于每日的汇总数据。,选取用于每个事实表记录的维,常用的维有:时间、货物、客户、供应商等。,选取将安放在事实表中的度量,常用的数字度量包括:售价、货物数量等。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),典型的数据仓库设计过程数据仓库和数据挖掘的OLAP技术(武汉,80,2.3.2 三层数据仓库架构,数据仓库,提取,清理,转换,装入,刷新,OLAP服务器,查询报告,分析,数据挖掘,监控、,整合,元数据,存储,数据源,前端工具,输出,数据集市,操作数据库,其他外部信息源,数据仓库服务器,OLAP服务器,底层中间层前端层,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.3.2 三层数据仓库架构数据仓库提取OLAP服务器查询,81,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),82,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),83,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),84,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),85,底层:数据仓库的数据库服务器,关注的问题:如何从这一层提取数据来构建数据仓库(通过网关(ODBC,JDBC,OLE/DB等)来提取)。,中间层:OLAP服务器,关注的问题:OLAP服务器如何实施(关系型OLAP,多维OLAP等)。,前端客户工具层,关注的问题:查询工具、报表工具、分析工具、挖掘工具等。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),底层:数据仓库的数据库服务器数据仓库和数据挖掘的OLAP技术,86,从体系结构的角度去看,数据仓库模型有以下三种:,企业仓库,搜集关于跨越整个组织的主题的所有信息。,数据集市,企业范围数据的一个子集,对于特定的客户是有用的。其范围限于选定的主题,比如一个商场的数据集市。,独立的数据集市 VS. 非独立的数据集市(数据来自于企业数据仓库)。,虚拟仓库,操作数据库上的一系列视图。,只有一些可能的汇总视图被物化。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),从体系结构的角度去看,数据仓库模型有以下三种:数据仓库和数据,87,数据仓库开发上的困难,自顶向下的开发方法从全系统的角度提供解决方案,使得(模块)集成的问题最小;但是该方法十分昂贵,需要对组织进行长期研究和建模分析。,自底向上方法提供了更多的开发灵活性,价格便宜;但往往会遇到集成问题(每个模块单独运行都没有问题,但是一集成就出异常)。,解决方法,使用递增性、演化性的开发方法,高层数据模型,企业仓库和数据集市并行开发,通过分布式模型集成各数据集市,多层数据仓库。,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库开发上的困难数据仓库和数据挖掘的OLAP技术(武汉大,88,2.3.3 OLAP服务器类型,逻辑上,OLAP服务器从数据仓库或数据集市中给商业用户提供多维数据,物理上,OLAP的底层数据存储实现可以有多种不同的方式,关系OLAP服务器(ROLAP),使用关系数据库或扩展的关系数据库存放并管理数据仓库的数据,而用OLAP中间件支持其余部分。,包括每个DBMS后端优化,聚集导航逻辑的实现,附加的工具和服务。,较大的可扩展性。,数据仓库和数据挖掘的OLAP技术(
展开阅读全文