文档详情

数据仓库和数据挖掘的OLAP技术课件

痛***
实名认证
店铺
2024-11-27
PPT
2.83MB
约106页
数据仓库和数据挖掘的OLAP技术课件_第1页
1/106
数据仓库和数据挖掘的OLAP技术课件_第2页
2/106
数据仓库和数据挖掘的OLAP技术课件_第3页
3/106

单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,*,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),*,数据仓库和数据挖掘的OLAP技术(武汉大学-李春葆),2024/11/27,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库-数据挖掘的有效平台数据仓库中的数据清理和数据集成,是数据挖掘的重要数据预处理步骤数据仓库提供OLAP工具,可用于不同粒度的数据分析很多数据挖掘功能都可以和OLAP操作集成,以提供不同概念层上的知识发现分类,,预测,,关联,,聚集,2.1 什么是数据仓库,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),20世纪80年代中期,“数据仓库”这个名词首次出现在号称“数据仓库之父”W.H.Inmon的《Building Data Warehouse》一书中在该书中,W.H.Inmon把数据仓库定义为“,一个面向主题的、集成的、稳定的、随时间变化的数据的集合,以用于支持管理决策过程,”2.1.1 数据仓库的定义,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库还有许多不同的定义,如:,,“,数据仓库是融合方法、技术和工具以在完整的平台上将数据提交给终端用户的一种手段,”。

数据仓库是对分布在企业内部各处的业务数据的整合、加工和分析的过程,”数据仓库是一种具有集成性、稳定性和提供决策支持的处理,”为查询和分析(不是事务处理)而设计的关系数据库,”,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),在众多的数据仓库定义中,公认的仍然是W.H.Inmon的定义,该定义指出了数据仓库,面向主题、集成、稳定、随时间变化,这4个最重要的特征数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(1)面向主题,,,主题,就是在一个较高的管理层次上对信息系统的数据按照某一具体的管理对象进行综合、归类所形成的分析对象如顾客、供应商、产品和销售组织等,从数据组织的角度看,,主题是一些数据集合,,这些数据集合对分析对象作了比较完整的、一致的描述,这种描述不仅涉及到数据自身,而且涉及到数据之间的关系面向主题的数据组织方式,就是在较高层次上对分析对象的数据的一个完整、一致的描述,能完整、统一地刻画各个分析对象所涉及的企业的各项数据,以及数据之间的联系数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(2)集成,,数据仓库中存储的数据一般从企业原来已建立的数据库系统中提取出来,但并不是原有数据的简单拷贝,而是经过了,抽取、筛选、清理、综合,等工作。

这是因为:,,1) 原有数据库系统记录的是每一项业务处理的流水帐,这些数据不适合于分析处理在进入数据仓库之前必须经过综合、计算,同时抛弃一些分析处理不需要的数据项,必要时还要增加一些可能涉及的外部数据2) 数据仓库每一个主题所对应的源数据在源分散数据库中有许多重复或不一致之处,必须将这些数据转换成全局统一的定义,消除不一致和错误之处,以保证数据的质量;显然,对不准确,甚至不正确的数据分析得出的结果将不能用于指导企业做出科学的决策3) 源数据加载到数据仓库后,还要根据决策分析的需要对这些数据进行概括、聚集处理数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(3)稳定性即非易失的,,业务系统的数据库中一般只存储短期数据,因此在数据库系统中数据是不稳定的,它记录的是系统中数据变化的瞬态但对于决策分析而言,历史数据是相当重要的,许多分析方法必须以大量的历史数据为依托没有大量历史数据的支持是难以进行企业的决策分析的,因此,数据仓库中的数据大多表示过去某一时刻的数据,,主要用于查询、分析,不像业务系统中的数据库那样,要经常进行修改、添加,除非数据仓库中的数据是错误的数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(4)随时间而变化即时变的,,数据仓库中数据是批量载入的,是稳定的,这使得数据仓库中的数据总是拥有时间维度。

从这个角度,,数据仓库实际是记录了系统的各个瞬态,,并通过将各个瞬态连接起来形成动画,从而在数据分析的时候再现系统运动的全过程数据批量载入(提取)的周期实际上决定了动画间隔的时间,数据提取的周期短,则动画的速度快数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.1.2 数据仓库与操作数据库系统的区别,操作数据库系统的主要任务是联机事务处理OLTP,,日常操作: 购买,库存,银行,制造,工资,注册,记帐等数据仓库的主要任务是联机分析处理OLAP,,数据分析和决策支持,支持以不同的形式显示数据以满足不同的用户需要数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),OLTP 和OLAP的比较 (1/3),用户和系统的面向性,,面向顾客(事务),,面向市场(分析)数据内容,,当前的、详细的数据,,历史的、汇总的数据数据库设计,,实体-联系模型(ER)和面向应用的数据库设计,,星型/雪花模型和面向主题的数据库设计数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),OLTP 和OLAP的比较(2),数据视图,,当前的、企业内部的数据,,经过演化的、集成的数据访问模式,,事务操作,,只读查询(但很多是复杂的查询),,任务单位,,简短的事务,,复杂的查询。

访问数据量,,数十个,,数百万个数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),OLTP和OLAP的比较(3),用户数,,数千个,,数百个数据库规模,,100M~数GB,,100GB~数TB设计优先性,,高性能、高可用性,,高灵活性、端点用户自治度量,,事务吞吐量,,查询吞吐量、响应时间数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.1.3 为什么需要一个分离的数据仓库?,提高两个系统的性能,,DBMS是为OLTP而设计的:存储方式、索引、 并发控制和 恢复数据仓库是为OLAP而设计:复杂的 OLAP查询、 多维视图和汇总数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),不同的功能和不同的数据:,,历史数据:决策支持需要历史数据,而这些数据在操作数据库中一般不会去维护数据汇总:决策支持需要将来自异种源的数据统一(如聚集和汇总)数据质量:不同的源使用不一致的数据表示、编码和格式,对这些数据进行有效的分析需要将他们转化后进行集成数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.1.4 数据仓库中的关键名词,,1. ETL(Extract/Transformation/Load)—数据抽取、转换、加载工具,,ETL工具就是进行数据的抽取、转换和加载工具。

数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(1)数据提取(Data Extract),,从业务数据库只需提取出系统分析必需的那一部分数据例如,某超市确定以分析客户的购买行为为主题建立数据仓库,则我们只需将与客户购买行为相关的数据提取出来,而超市服务员工的数据就没有必要放进数据仓库现有的数据仓库产品几乎都提供各种关系型数据接口,提供提取引擎,从关系型数据中提取数据数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,(2)数据转换(Data Transform),,由于业务系统可能使用不同的数据库厂商的产品,比如IBM DB2、Oracle、Informix、Sybase、 NCR Teradata、 SQL Server等,各种数据库产品提供的数据类型可能不同,因此需要将不同格式的数据转换成统一的数据格式如时间格式“年/月/日”,“月/日/年”、“日-月-年”的不一致问题等数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,,(3)数据清洗(Data Clean),,所谓“清洗”就是将错误的、不一致的数据在进入数据仓库之前予以更正或删除,以免影响决策支持系统决策的正确性数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),(4) 数据加载(Data Load),,数据加载部件负责将数据按照物理数据模型定义的表结构装入数据仓库,包括清空数据域、填充空格、有效性检查等步骤。

数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,2. 元数据(MetaData),,“什么是元数据?”元数据是,描述数据的数据,在数据仓库中,元数据是定义数据仓库对象的数据元数据包括相应数据仓库的数据名和定义、数据提取操作时被提取数据的时间和地点以及数据清理或数据集成过程添加的字段等它提供了有关数据的环境,用于构造、维持、管理、和使用数据仓库,在数据仓库中尤为重要CREATE TABLE student,,{ no int;,,name char(10);,,sex char(2);,,class char(8);,,},no,name,sex,class,1,张三,男,1301,…,…,…,…,,,,,数据,数据的数据:元数据,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,3. 数据集市(Data Market),,数据仓库中存放的是整个企业的信息,并且数据是按照不同主题来组织的比如市场发展规律的分析主题主要由市场部门的人员使用,我们可以在逻辑上或者物理上将这部分数据分离出来,当市场部门人员需要信息时,不需要到数据仓库的巨量数据中检索,而只需在相应的部门数据上进行分析,因此从效率和处理速度的角度出发,这种划分是合算的。

这种面向企业中的某个部门(主题)而,在逻辑上或物理上划分出来的数据仓库中的数据子集,称为,数据集市,换句话说,数据集市包含了用于特殊目的数据仓库的部分数据数据仓库面向整个企业,而数据集市则是面向企业中的某个部门典型示例是销售部门、库存和发货部门、财务部门和高级管理部门等的数据集市数据仓库中存放了企业的整体信息,而数据集市只存放了某个主题需要的信息,其目的是减少数据处理量,使信息的利用更快捷、灵活数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),4. OLAP,,OLAP(On-line Analytical Processing,在线分析处理或联机分析处理)就是一个应用广泛的数据仓库使用技术它可以根据分析人员的要求,迅速灵活地对大量的数据进行复杂的查询处理,并以直观的容易理解的形式将查询结果提供给各种决策人员,使他们能够迅速准确地掌握企业的运营情况,了解市场的需求数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2 多维数据模型,2.2.1 由表到数据立方体,数据仓库和OLAP工具基于多维数据模型在多维数据模型中,数据以数据立方体(data cube)的形式存在数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据立方体允许以多维数据建模和观察。

它由维和事实定义维是人们观察数据的特定角度,是考虑问题时的一类属性属性的集合构成一个维(如时间维、机构维等)维分层:同一维度还可以在细节程度不同的各个描述方面(如时间维可包含年、季度、月份和日期等)维属性:维的一个取值,是数据项在某维中位置的描述(如2013年11月2日在时间维上位置的描述),每个维都有一个表与之相关联,称为维表数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),一个数据立方体:,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),多维数据模型围绕中心主题组织,该主题用事实表表示,事实表包括事实的名称或度量以及每个相关维表的关键字事实指的是一些数字度量学生,课程,分数,1001,2001,89,1002,2002,83,1005,2004,90,┇,┇,┇,学号,姓名,班号,1,张三,1201,┇,┇,┇,学生,1001,┇,课程,编号,名称,2001,1,C++,┇,┇,┇,学生维表,成绩事实表,课程维表,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),OLTP系统是为了快速回答简单查询,而不是为了存储分析趋势的历史数据而创建的一般的OLTP提供了大量的原始数据,这些数据不易被分析。

查询某人买房记录查询某房的价值…,一个英国房屋销售系统:,两个系统数据组织模式比较示例1,,来源于事务型的数据库,如采用关系型数据库进行数据存储,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库需要回答更复杂的查询,而不仅仅是一些像“英国主要城市的商品平均销售价格是多少”之类的简单聚集数据查询数据仓库需要回答的查询类型可以是简单的查询,也可以是,高度复杂,的,且还与终端用户使用的查询工具相关数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2008年第三季度,整个英格兰的总收入是多少?,,2007年英国每一类房产销售的总收入是多少?,,2008年租借房产业务中每个城市哪个地域最受欢迎?与过去的两年相比有何不同?,,每个分支机构本月的房产销售月收入是多少,并与刚过去的12个月相比较如果对于10万英镑以上的房产,法定价格上升3.5%而政府税收下降1.5%,对英国不同区域的销售会产生什么影响?,,在英国主要城市中,哪种类型的房产销售价格高于平均房产销售价格?这与人口统计数据有何联系?,英国房屋销售数据仓库系统:,,来源于已处理的或汇总的数据,要预先采用数据结构如多维模型存放这些汇总的数据。

数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,两个系统数据组织模式比较示例2,数据库系统,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),面向“商品”、“供应商”和“顾客”的数据仓库系统,商品数据仓库结构,供应商数据仓库结构,顾客数据仓库结构,,来源于的前面的多个表的数据,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),从上述实例,不难看出:,在从面向应用到面向主题的转变过程中,丢弃了原来有的但不必要的、不适于分析的信息;,,在原有的数据库模式中,有关商品的信息分散在各个子系统之中;面向主题的数据组织方式所强调的就是要形成关于主题一致的信息集合;,,不同主题之间有重叠内容数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),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技术(武汉大学李春葆),在数据仓库中,数据立方体是n-D的(n维),,(关系表和电子表格是几维的?),,多维数据模型为不同角度上的数据建模和观察提供了一个良好的基础。

数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例,,AllElectronics的销售数据按维time, item的2-D视图location=“Vancouver“,(,温哥华 ),item,(,类型,),time,(,季度,),家庭娱乐,,计算机   电话  安全,Q1      605     825    14   400,,Q2      680     952    31   512,,Q3      812     1023    30    501,,Q4      927     1038    38    580,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),AllElectronics的销售数据按维time, item和location的3-D视图location,= “Chicage”,,item,time,,家庭娱乐 计算机 电话 安全,Q1 854   882  89 623,,Q2 943   890  64 698,,Q3 1032  924  59 789,,Q4 1129  992  63 870,location= “New York”,,item,time,家庭娱乐 计算机 电话 安全,Q1 1087  968  38 623,,Q2 943   890  64 698,,Q3 1032  924  59 789,,Q4 1129  992  63 870,...,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),AllElectronics的销售数据按维time、 item和location的3-D视图的3-D数据立方体表示。

数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),销售数据的4-D立方体表示4维分别是time、item、location和supplier数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),一个n维的数据的立方体叫做,基本立方体,给定一个维的集合,我们可以构造一个立方体的格,每个都在不同的汇总级或不同的数据子集显示数据,立方体的格称为,数据立方体,0维立方体存放最高层的汇总,称作顶点立方体;而存放最底层汇总的立方体则称为基本立方体数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据立方体格,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技术(武汉大学李春葆),,,,,,,i,-1维立方体,i,维立方体,,上卷,下钻,i,越大,数据越细,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2.3 数据仓库的概念模型,最流行的数据仓库概念模型是多维数据模型。

这种模型可以以星型模式、雪花模式、或事实星座模式的形式存在星型模式(Star schema),: 事实表在中心,周围围绕地连接着维表(每维一个),事实表含有大量数据,没有冗余1. 星型模式,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),星型模式实例,,,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技术(武汉大学李春葆),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),雪花模式(Snowflake schema),: 是星型模式的变种,其中某些维表是规范化的,因而把数据进一步分解到附加表中。

结果,模式图形成类似于雪花的形状2. 雪花模式,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),雪花模式实例,,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技术(武汉大学李春葆),,,,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),事实星座(Fact constellations),: 多个事实表共享维表, 这种模式可以看作星型模式集,因此称为星系模式(galaxy schema),或者事实星座(fact constellation) 。

2. 事实星座模式,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),事实星座模式实例,,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技术(武汉大学李春葆),2.2.4 一种数据仓库查询语言: DMQL,DMQL首先包括定义数据仓库和数据集市的语言原语,这包括两种原语定义:一种是立方体定义,一种是维定义,,立方体定义 (事实表),,define cube []: ,,维定义 (维表),,define dimension as (),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),实例:使用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技术(武汉大学李春葆),星型模式实例,,,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技术(武汉大学李春葆),实例:使用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技术(武汉大学李春葆),雪花模式实例,,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技术(武汉大学李春葆),实例:使用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技术(武汉大学李春葆),事实星座模式实例,,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技术(武汉大学李春葆),2.2.5 度量的分类,一个数据立方体的度量是一个,数值函数,,该函数可以对数据立方体的每一个点求值。

度量可以根据其所用的聚集函数分为三类:,,分布的:将函数用于n个聚集值得到的结果和将函数用于所有数据得到的结果一样比如:count(),sum(),min(),max()等,,代数的:函数可以由一个带M个参数的代数函数计算(M为有界整数),而每个参数值都可以由一个分布的聚集函数求得比如:avg(),min_N(),standard_deviation(),,整体的:描述函数的子聚集所需的存储没有一个常数界比如:median(),mode(),rank(),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.2.6 概念分层,,一个,概念分层,(concept hierarchy)定义一个映射序列,将低层概念映射到更一般的高层概念,,例如表示location的概念:杭州,浙江中国亚洲概念分层允许我们在各种抽象级审查和处理数据概念分层可以由系统用户、领域专家、知识工程师人工地提供,也可以根据数据分布的统计分析自动地产生数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),概念分层 : location维的一个概念分层,all,Europe,North_America,Mexico,Canada,Spain,Germany,Vancouver,M. Wind,L. Chan,...,...,...,...,...,...,all,region,office,country,Toronto,Frankfurt,city,许多概念分层的定义隐含在数据库的模式中。

比如:location维的定义,office

当用维归约进行上卷时,一个或多个维由给定的数据立方体删除数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例:OLAP 操作-上卷,在 location上卷(由 cities 到 countries汇总),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),下钻(drill-down):上卷的逆操作,,由不太详细的数据到更详细的数据,可以通过沿维的概念分层向下或引入新的维来实现 (为给定数据添加更多细节)数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例: OLAP 操作-下钻,在 time下钻 (由 quarters 到 months细化),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),切片和切块(slice and dice),,,切片操作在给定的数据立方体的,一个维,上进行选择,导致一个子方切块操作通过对两个或多个维进行选择,定义子方切块操作在给定的数据立方体的,多个维,上进行选择,导致一个子方切块操作通过对两个或多个维进行选择,定义子方数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例: OLAP 操作-切片,切片条件: time=“Q2”,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例: OLAP 操作- 切块,切块条件: (location=“Montreal” or “Vancouver”) and (time=“Q1” or “Q2”) and (item=“home entertainment” or “computer”),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),转轴(pivot),,立方体的重定位,可视化,或将一个3维立方体转化为一个2维平面序列。

转轴是一种可视化操作,通过转动当前数据的视图来提供一个数据的替代表示数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),示例: OLAP 操作-转轴,转轴,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),其他OLAP操作,,钻过(drill_across):执行涉及多个事实表的查询钻透(drill_through):使用关系SQL机制,钻到数据立方体的底层,到后端关系表其他OLAP操作可能包括列出表中最高或最低的N项,以及计算移动平均值、增长率、利润、统计函数等等数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.3 数据仓库的系统结构,2.3.1 数据仓库的设计步骤和结构,设计和构造数据仓库、三层数据仓库结构介绍中小型数据仓库的一般设计方法数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库给商业分析专家提供了什么?,,通过提供相关数据与信息,获得竞争优势通过有效地收集精确地描述组织的数据,获得生产力的提高通过提供不同级别(部门、市场、商业)的客户视图,协助客户关系管理通过追踪长期趋势、异常等,降低成本有效构建数据仓库的关键:理解和分析商业需求,,通过提供一个商业分析框架,综合各种不同的数据使用者的视图。

1. 数据仓库设计:一个商务分析框架,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库设计的四种视图,,自顶向下视图,,允许我们选择数据仓库所需的相关信息数据源视图,,揭示被操作数据库系统所捕获、存储和管理的信息数据仓库视图,,由事实表和维表所组成商务查询视图,,从最终用户的角度透视数据仓库中的数据数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2. 数据仓库的设计过程,自顶向下法、自底向上法或者两者的混合方法,,自顶向下法:由总体设计和规划开始,,在技术成熟、商业理解透彻的情况下使用自底向上法:以实验和原型开始,,常用在模型和技术开发的初期,可以有效的对使用的技术和模型进行评估,降低风险混合方法:上述两者的结合,,从软件工程的观点,,瀑布式方法:在进行下一步前,每一步都进行结构化和系统的分析螺旋式方法:功能渐增的系统的快速产生,相继版本之间间隔很短数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),典型的数据仓库设计过程,,选取待建模的商务过程,,找到所构建的数据仓库的主题,比如:销售、货运、订单等等选取商务过程的颗粒度,,数据起始于多细的颗粒度,比如,记录每条详细订单,或是开始于每日的汇总数据。

选取用于每个事实表记录的维,,常用的维有:时间、货物、客户、供应商等选取将安放在事实表中的度量,,常用的数字度量包括:售价、货物数量等数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.3.2 三层数据仓库架构,,数据仓库,,,,提取,,清理,,转换,,装入,,刷新,OLAP服务器,查询报告,,分析,,数据挖掘,监控、,,整合,,,,元数据,,存储,数据源,前端工具,输出,,,,,,数据集市,,,,,,,操作数据库,其他外部信息源,,,,数据仓库服务器,,,,,OLAP服务器,底层       中间层     前端层,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),底层:数据仓库的数据库服务器,,关注的问题:如何从这一层提取数据来构建数据仓库(通过网关(ODBC,JDBC,OLE/DB等)来提取)中间层:OLAP服务器,,关注的问题:OLAP服务器如何实施(关系型OLAP,多维OLAP等)。

前端客户工具层,,关注的问题:查询工具、报表工具、分析工具、挖掘工具等数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),从体系结构的角度去看,数据仓库模型有以下三种:,,企业仓库,,搜集关于跨越整个组织的主题的所有信息数据集市,,企业范围数据的一个子集,对于特定的客户是有用的其范围限于选定的主题,比如一个商场的数据集市独立的数据集市 VS. 非独立的数据集市(数据来自于企业数据仓库)虚拟仓库,,操作数据库上的一系列视图只有一些可能的汇总视图被物化数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据仓库开发上的困难,,自顶向下的开发方法从全系统的角度提供解决方案,使得(模块)集成的问题最小;但是该方法十分昂贵,需要对组织进行长期研究和建模分析自底向上方法提供了更多的开发灵活性,价格便宜;但往往会遇到集成问题(每个模块单独运行都没有问题,但是一集成就出异常)解决方法,,使用递增性、演化性的开发方法,,高层数据模型,,企业仓库和数据集市并行开发,,通过分布式模型集成各数据集市,,多层数据仓库数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.3.3 OLAP服务器类型,逻辑上,OLAP服务器从数据仓库或数据集市中给商业用户提供多维数据,,物理上,OLAP的底层数据存储实现可以有多种不同的方式,,关系OLAP服务器(ROLAP),,使用关系数据库或扩展的关系数据库存放并管理数据仓库的数据,而用OLAP中间件支持其余部分。

包括每个DBMS后端优化,聚集导航逻辑的实现,附加的工具和服务较大的可扩展性数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),多维OLAP服务器(MOLAP),,基于数组的多维存储引擎(稀疏矩阵技术)能对预计算的汇总数据快速索引混合OLAP服务器(HOLAP),,结合上述两种技术,更大的使用灵活性特殊的SQL服务器,,在星型和雪花模型上支持SQL查询数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),2.4 数据仓库的实现,数据仓库中的OLAP查询是一种海量数据计算 (想象一下对过去10年各地区的软件产品销售的汇总查询),,用户却希望这个计算能在数秒钟内完成,,解决方法在于给出一种有效的计算数据立方体的方法,,汇总的数据立方体可以被看成是一个立方体的格,,最底层的立方体是基本立方体,,最顶端的立方体(顶点)只包含一个单元的值,,一个n维的数据立方体,每维L,i,层,可能产生的立方体总数是多少?,2.4.1 数据立方体的有效计算,1表示原始数据即all层,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),编号,日期,商品,地区,数量,1,2011.5.10,长虹电视机,南京市…,1,2,2011.5.20,美的微波炉,上海市…,2,3,2011.6.2,…,…,1,4,2011.6.10,…,…,2,5,2011.7.12,…,…,3,6,2011.8.18,…,…,2,…,…,…,…,…,事实表(可看成是基本立方体):,一个立方体是某种汇总的结果,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),地区维(上卷到省市),日期维(上卷到季度),商品维(上卷到商品类别),,一个立方体(3维),立方体是OLAP的基础。

例如:,,对比江苏和上海在2010二季度的日用品销售情况,,当上述立方体存在时,其计算过程就非常快数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),,(商品),(地区),(),(日期),(地区,商品),(地区,日期),(商品,日期),(地区,商品,日期),当,L,i,=1时(没有概念分层),,T,=2,n,,这里有8个立方体立方体格:,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),则立方体总数,T,=(4+1)×(3+1)×(2+1)=60个,,尽管立方体可以提高OLAP的效率,但事先产生所有的立方体是不现实的年,月,季度,日,假设日期:,,4层,假设地区:,假设商品:,商品大类,商品小类,省,市,县,,3层,,2层,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),数据立方体的物化,数据立方体的物化可以有以下三种选择:,,全物化,,预先计算所有立方体对于n维数据立方体,可能产生的立方体总数是T=(L,1,+1)(L,2,+1)…(L,n,+1),L,i,表示维i的层次数,例如,n=10,每维10层,则立方体总数约为9800000个日用品涉及的立方体,例:求2010一季度的日用品,通常,这种选择需要海量存储空间来存放所有预计算的立方体。

优点是OLAP速度快数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),不物化,,不预先计算任何“非基本”立方体,,,,,,,,,,,,,,,,,,,,,,,事实表,汇总,涉及大量上卷操作(表连接),,这可能导致回答查询时,因进行昂贵的多维聚集计算,速度非常慢维灾难!!!,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),部分物化,,有选择的计算一个所有立方体的适当子集,,考虑因素,:(1),确定要物化的立方体;(2)在查询时利用物化的立方体;(3)在装载和刷新时,有效地更新物化的立方体,,有选择地计算整个可能的立方体集中一个适当的子集部分物化是存储空间和响应时间两者之间的很好折衷数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),确定物化哪些立方体,,考虑工作负荷下的查询、它们的频率和它们的开销等等日用品涉及的立方体,,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),立方体的操作,DMQL中的立方体定义和计算,,define cube sales[item, city, year]: sum(sales_in_dollars),,compute cube sales,,上述的compute cube子句可以转化为一个类似于SQL的语句,,SELECT item, city, year, SUM (amount),,FROM SALES,,CUBE BY item, city, year,,这个相当于SQL中以下的group by子句,,(item, city, year) -3D,,(item, city), (item year), (city, year)-2D,,(item), (city), (year) -1D,,() - 0D,,(item),(city),(),(year),(city, item),(city, year),(item, year),(city, item, year),,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),假设为AllElectrics定义了维和数据立方体。

查询:,对{brand,province_or_state}查询year=2004有4个立方体可用:,,立方体1:{year,item_name,city},,立方体2:{year,brand,country},,立方体3:{year,brand,prvoince_or_state},,立方体4:{item_name,province_or_state},其中year=2004,,以上4个立方体,应当选择哪一个处理查询?,立方体2不能用:较细粒度的数据不能由较粗粒度的数据产生可用立方体1、3和4立方体3最佳,数据仓库和数据挖掘的OLAP技术(武汉大学李春葆),立方体计算:ROLAP和MOLAP,立方体计算的挑战:海量数据,有限的内存和时间基于ROLAP的方法(底层使用关系模型存储数据),,将排序、散列(hashing)和分组操作应用于维的属性,以便对相关元组重新排序和聚类在某些子聚集上分组,作为“部分分组步骤”可以由以前计算。

下载提示
相关文档
正为您匹配相似的精品文档