1、数据仓库和联机分析处理数据仓库和联机分析处理主要讨论内容主要讨论内容l为什么需要数据仓库技术为什么需要数据仓库技术l什么是数据仓库什么是数据仓库l什么是联机分析处理技术什么是联机分析处理技术l联机分析处理技术实现联机分析处理技术实现l数据仓库系统的体系结构数据仓库系统的体系结构介绍内容介绍内容l为什么需要数据仓库技术为什么需要数据仓库技术l从技术发展的角度从技术发展的角度l从实际应用需求的角度从实际应用需求的角度l什么是数据仓库什么是数据仓库l什么是联机分析处理技术什么是联机分析处理技术l联机分析处理技术实现联机分析处理技术实现l数据仓库系统的体系结构数据仓库系统的体系结构数据管理技术发展回顾
2、数据管理技术发展回顾l早期阶段早期阶段l数据属于特定应用,数据由用户管理数据属于特定应用,数据由用户管理l文件系统阶段文件系统阶段l数据与(一类)应用对应,文件系统作了部分管理数据与(一类)应用对应,文件系统作了部分管理l数据库系统阶段数据库系统阶段l数据共享(面向整个企业),有结构的数据由数据共享(面向整个企业),有结构的数据由DBMS统一统一管理管理n 应用需求驱动应用需求驱动 +技术基础技术基础n 数据库数据的组织与管理大大方便应用的开发和维护数据库数据的组织与管理大大方便应用的开发和维护现有的数据库系统的侧重点现有的数据库系统的侧重点l 现有的数据库系统,主要用于事务处理现有的数据库系
3、统,主要用于事务处理l一笔订购(一张订单输入一笔订购(一张订单输入+订单细则)订单细则)l一笔销售(一张销售单)一笔销售(一张销售单)l一次进料(一张进料单)一次进料(一张进料单)l一次出料(一张出料单)一次出料(一张出料单)强调多用户并发环境,数据的一致性、完整性强调多用户并发环境,数据的一致性、完整性企业信息化建设现状企业信息化建设现状l在数据库技术的支持下,一大批成熟的业务信息系统投入运在数据库技术的支持下,一大批成熟的业务信息系统投入运行,为企业发展作出了巨大贡献行,为企业发展作出了巨大贡献l各类信息系统大多属于面向事务处理的各类信息系统大多属于面向事务处理的OLTP系统系统l信息系统
4、多年运行,积累了大量的数据信息系统多年运行,积累了大量的数据l数据是一种宝贵的资源,但没有充分发挥作用数据是一种宝贵的资源,但没有充分发挥作用信息化建设的趋势信息化建设的趋势l发展趋势发展趋势l数据集中化数据集中化l业务综合化业务综合化l管理管理“扁平化扁平化”l决策科学化决策科学化l特点特点l以客户为中心以客户为中心l以服务求发展以服务求发展企业信息化建设提出了更高的要求企业信息化建设提出了更高的要求l市场竞争日益激烈市场竞争日益激烈 创造竞争优势创造竞争优势l需要及时、准确的做出科学决策需要及时、准确的做出科学决策l科学决策必须以准确、有效的数据为基础科学决策必须以准确、有效的数据为基础l
5、充分利用现有数据,将它转化为信息充分利用现有数据,将它转化为信息l以客户为中心的经营管理模式以客户为中心的经营管理模式 优化客户关系优化客户关系l原有系统往往以产品为中心原有系统往往以产品为中心l原有系统往往以原有系统往往以“单据(票证)单据(票证)”的处理为基础的处理为基础l转向转向“以客户为中心以客户为中心”l强调服务,尤其是个性化服务强调服务,尤其是个性化服务分析处理的需求分析处理的需求l例例1:今年销售量下降的因素(时间、地区、商品、销售部门):今年销售量下降的因素(时间、地区、商品、销售部门)l时间:销售时间:销售l地区:销售地区:销售*顾客(顾客地址所在的地区)顾客(顾客地址所在的
6、地区)l商品:销售商品:销售*订单细则订单细则 (商品类别)(商品类别)l销售部门:销售销售部门:销售*员工员工*部门(部门名称)部门(部门名称)l例例2:某种商品今年的销售情况与以往相比,有怎样的变化?每年的第一:某种商品今年的销售情况与以往相比,有怎样的变化?每年的第一季度商品销售在各类商品上的分布情况怎样?季度商品销售在各类商品上的分布情况怎样?l要求:要求:l多个子系统中的数据(数据集成)多个子系统中的数据(数据集成)l历史数据历史数据l汇总、综合的数据汇总、综合的数据现有数据库系统处理分析型应用存在的问题现有数据库系统处理分析型应用存在的问题l数据可靠性(可信度)数据可靠性(可信度)
7、l生产率生产率l不可能把数据转换成信息不可能把数据转换成信息l数据动态集成问题数据动态集成问题l历史数据问题历史数据问题l数据的综合问题:非细节数据,多种程度的综合数据的综合问题:非细节数据,多种程度的综合数据可靠性数据可靠性l数据没有同一时间基准数据没有同一时间基准l例如:一个银行的两个部门对同一业务提交报告例如:一个银行的两个部门对同一业务提交报告l部门部门A,于星期天傍晚提交,业务增长了,于星期天傍晚提交,业务增长了10%l部门部门B,于星期三下午提交,业务增长了,于星期三下午提交,业务增长了15%l算法不同算法不同 部门部门A使用的是所有类别的帐户,使用的是所有类别的帐户,部门部门B使
8、用的是所有大帐户使用的是所有大帐户l多次抽取,扩大了上述两个问题多次抽取,扩大了上述两个问题 用抽取程序从数据库用抽取程序从数据库/文件中抽取数据,并存放起来,然后又从此再文件中抽取数据,并存放起来,然后又从此再次进行抽取,从数据进入系统到提供分析往往经过次进行抽取,从数据进入系统到提供分析往往经过8、9次的抽取。次的抽取。数据可靠性(续)数据可靠性(续)l外部数据问题外部数据问题l一位分析员把华尔街杂志上的数据带进系统一位分析员把华尔街杂志上的数据带进系统l另一位将商业周刊的数据进入系统另一位将商业周刊的数据进入系统l 数据一旦进入系统,往往已失去数据一旦进入系统,往往已失去“身份身份”,并
9、且一位分,并且一位分析员也不知道另一位分析员所输入的数据析员也不知道另一位分析员所输入的数据l开始时就不是同一个公共的数据源开始时就不是同一个公共的数据源l部门部门A最初来源于文件最初来源于文件XYZl部门部门B最初来源于最初来源于DB ABC生产率生产率l为了生成一个报告,必须经过为了生成一个报告,必须经过l获得源数据获得源数据l定位和分析数据:由于同名不同义、同义不同名,很难准确定位和分析数据:由于同名不同义、同义不同名,很难准确定位和分析,可能造成进一步的混乱定位和分析,可能造成进一步的混乱l把数据加工成报告把数据加工成报告l要写许多程序,每个程序必须客户化(与客户环境有关)要写许多程序
10、,每个程序必须客户化(与客户环境有关)l程序会涉及公司具有的各种技术程序会涉及公司具有的各种技术l由于定位数据困难,检索所要的数据是一件很麻烦的事由于定位数据困难,检索所要的数据是一件很麻烦的事l完成任务需要很长时间完成任务需要很长时间l定位数据定位数据+获得数据获得数据+集成报告,完成任务所需时间较长集成报告,完成任务所需时间较长l每份报告各自需求不同,因此每份报告所需要的时间都很长。每份报告各自需求不同,因此每份报告所需要的时间都很长。从数据到信息从数据到信息l例如:例如:“今年的帐户情况与前五年比较今年的帐户情况与前五年比较”l涉及大量应用:储蓄应用、贷款、即期汇票管理、信托,涉及大量应
11、用:储蓄应用、贷款、即期汇票管理、信托,而这些应用并未集成。而这些应用并未集成。l没有足够的历史数据:没有足够的历史数据:l贷款部门,拥有二年的数据贷款部门,拥有二年的数据l银行存折处理,拥有一年的数据银行存折处理,拥有一年的数据l即期汇票管理只有即期汇票管理只有60天的数据天的数据l现金交易处理具有现金交易处理具有18个月的数据。个月的数据。l数据不一致问题:同名不同义、同义不同名,例如数据不一致问题:同名不同义、同义不同名,例如M/F,Male/Femalel外部数据和非结构化数据外部数据和非结构化数据操作型环境和分析型环境操作型环境和分析型环境l不同的需求,要求将操作型环境和分析型环境相
12、不同的需求,要求将操作型环境和分析型环境相分离分离l在操作型环境中支持分析应用太复杂、太困难在操作型环境中支持分析应用太复杂、太困难l操作性环境不支持域(操作性环境不支持域(Domain)之间的联系,仅仅支)之间的联系,仅仅支持表之间的连接持表之间的连接l不同的数据环境要求从数据组织(结构)和管理上进行不同的数据环境要求从数据组织(结构)和管理上进行工作工作两种数据的区别两种数据的区别 操作型数据操作型数据 分析型数据分析型数据 细节的细节的 综合的,或提炼的综合的,或提炼的 在存取瞬间是准确的在存取瞬间是准确的 代表过去的数据代表过去的数据 可更新可更新 不更新不更新 操作需求事先可知道操作
13、需求事先可知道 操作需求事先不知道操作需求事先不知道 生命周期符合生命周期符合SDLC SDLC 完全不同的生命周期完全不同的生命周期 对性能要求高对性能要求高 对性能要求宽松对性能要求宽松 一个时刻操作一单元一个时刻操作一单元 一个时刻操作一集合一个时刻操作一集合 事务驱动事务驱动 分析驱动分析驱动 面向应用面向应用 面向分析面向分析 一次操作数据量小一次操作数据量小 一次操作数据量大一次操作数据量大 支持日常操作支持日常操作 支持管理需求支持管理需求介绍内容介绍内容l为什么需要数据仓库技术为什么需要数据仓库技术l什么是数据仓库什么是数据仓库l数据仓库的概念数据仓库的概念l数据仓库的特点数据
14、仓库的特点l什么是联机分析处理技术什么是联机分析处理技术l联机分析处理技术实现联机分析处理技术实现l数据仓库系统的体系结构数据仓库系统的体系结构数据仓库的概念数据仓库的概念l数据仓库数据仓库(Data WarehouseData Warehouse)是一个是一个面向主题的面向主题的(Subject Subject Oriented Oriented)、集成的、集成的(IntegratedIntegrated)、相对稳定的、相对稳定的(Non-Non-VolatileVolatile)、反映历史变化、反映历史变化(Time VariantTime Variant)的数据集合的数据集合,用于,用于
15、支持管理决策和信息的全局共享。支持管理决策和信息的全局共享。l对数据仓库的理解对数据仓库的理解l数据仓库用于支持管理和决策,面向分析型数据处理,它不同于数据仓库用于支持管理和决策,面向分析型数据处理,它不同于企业现有的面向交易的操作型数据库;企业现有的面向交易的操作型数据库;l数据仓库是对多个异构的数据源有效集成,集成后按照主题进行数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据。了重组,并包含历史数据。数据仓库回答的问题数据仓库回答的问题l数据仓库技术将为高层管理人员的科学决策提供可靠依据。数据仓库技术将为高层管理人员的科学决策提供可靠依据。l去年各个地区各个产
16、品的销售量和销售额?去年各个地区各个产品的销售量和销售额?l1010年以来,各个计算机厂商每个季度的销售额占有比例的变化年以来,各个计算机厂商每个季度的销售额占有比例的变化情况?情况?l如果某种产品的销售价格打如果某种产品的销售价格打9 9折,利润将发生怎样的变化?折,利润将发生怎样的变化?l今年销售量下降的主要因素(时间、地区、商品、销售部门)今年销售量下降的主要因素(时间、地区、商品、销售部门)是什么?是什么?数据仓库的特点:面向主题数据仓库的特点:面向主题寿险寿险财产险财产险机动车险机动车险客户客户s操作型数据库是面向特殊操作型数据库是面向特殊处理任务,各个系统之间处理任务,各个系统之间
17、各自分离各自分离s数据仓库是按照一定的主数据仓库是按照一定的主题域进行组织。一个主题题域进行组织。一个主题通常与多个操作型信息系通常与多个操作型信息系统相关。统相关。操作型数据库操作型数据库数据仓库数据仓库数据仓库的特点:集成的数据仓库的特点:集成的面向特定应用面向特定应用集成的集成的s每一个数据库面向特定的每一个数据库面向特定的应用,各类应用(包括其应用,各类应用(包括其相关的数据库)之间相互相关的数据库)之间相互独立。独立。s数据仓库中的数据面向整个企数据仓库中的数据面向整个企业的分析处理,数据仓库中的业的分析处理,数据仓库中的数据是已经集成了的,消除了数据是已经集成了的,消除了数据的不一
18、致性。数据的不一致性。操作型数据库操作型数据库数据仓库数据仓库数据集成的方法数据集成的方法:MQS数据仓库的数据集成数据仓库的数据集成抽取清理转化加载数据仓库数据源1数据源2数据源3数据源n数据仓库的特点:反映历史变化数据仓库的特点:反映历史变化s主要关心当前数据主要关心当前数据s通常包含历史数据通常包含历史数据操作型数据库操作型数据库数据仓库数据仓库数据仓库的特点:相对稳定的数据仓库的特点:相对稳定的modifydeleteinsertupdateLoad/Update在某个时间段内保持相对稳定在某个时间段内保持相对稳定s实时更新,数据根据需实时更新,数据根据需要及时发生变化要及时发生变化s
19、定期加载,加载后的数据极少定期加载,加载后的数据极少更新。更新。实时更新实时更新操作型数据库操作型数据库数据仓库数据仓库数据库技术与数据仓库技术数据库技术与数据仓库技术l数据库技术在系统功能和性能需求数据库技术在系统功能和性能需求l强调的是多用户环境下如何针对并发用户的增删改强调的是多用户环境下如何针对并发用户的增删改操作,保证数据的一致性和可恢复性,并发用户的操作,保证数据的一致性和可恢复性,并发用户的吞吐量为数据库管理系统的重要性能指标吞吐量为数据库管理系统的重要性能指标l数据仓库技术在系统功能和性能需求数据仓库技术在系统功能和性能需求l强调的是大数据量环境下的高效、快速查询,查询强调的是
20、大数据量环境下的高效、快速查询,查询的吞吐量为数据仓库管理系统的重要性能指标的吞吐量为数据仓库管理系统的重要性能指标 数据仓库管理系统的提供商数据仓库管理系统的提供商l Oracle:Oracle 8i,Oracle 9i,Oracle 10g,Oracle 11gl IBM :DB2l NCR:Teradatal Sybase:Sybase IQ数据仓库中的索引技术数据仓库中的索引技术l位图索引(位图索引(Bitmap Index)l针对一些特殊的列建立索引针对一些特殊的列建立索引l列中的每一个值对应一个向量中的一位列中的每一个值对应一个向量中的一位l向量的长度对应与记录的条数向量的长度对应
21、与记录的条数l不适合列中值的个数太多的情况不适合列中值的个数太多的情况客户号客户号地区地区类型类型C1AsiaRetailC2EuropeDealerC3AsiaDealerC4AmericaRetailC5EuropeDealer基本表基本表RecID Asia EuropeAmerica11002010310040015010地区索引地区索引RecIDRetailDealer110201301410501类型索引类型索引数据仓库中的索引技术数据仓库中的索引技术l连接索引(连接索引(Join Index)l一个表对另一个表中包含本表中相关列内容一个表对另一个表中包含本表中相关列内容的行进行索
22、引。的行进行索引。产品编码产品编码名称名称单价单价索引项索引项P1电视电视5000R1,R2p2冰箱冰箱4000R3,R4产品产品销售情况销售情况记录号记录号产品编码产品编码月份月份数量数量R1P12000/15128R2P12000/23246R4p22000/13457R3p22000/24030数据仓库中的索引技术数据仓库中的索引技术l建立广义索引建立广义索引l用于处理最大(小)值问题用于处理最大(小)值问题例如:每月销售最好的前例如:每月销售最好的前5种商品?种商品?l当数据装入到当数据装入到DW时,生成时,生成“广义索引广义索引”内容内容l广义索引随着数据仓库的发展,数目会增加,但每
23、个索引广义索引随着数据仓库的发展,数目会增加,但每个索引的规模小,需要在元数据中定义的规模小,需要在元数据中定义“广义索引广义索引”介绍内容介绍内容w为什么需要数据仓库技术为什么需要数据仓库技术w什么是数据仓库什么是数据仓库w什么是联机分析处理技术什么是联机分析处理技术n联机分析处理的提出联机分析处理的提出n联机分析处理的基本概念和相关操作联机分析处理的基本概念和相关操作w联机分析处理技术实现联机分析处理技术实现w数据仓库系统的体系结构数据仓库系统的体系结构联机分析处理(联机分析处理(OLAP)的提出)的提出l关系数据库满足了联机事务处理(关系数据库满足了联机事务处理(OLTP)的要求)的要求
24、l存在着大量的分析型应用存在着大量的分析型应用 关系数据库系统无法适应关系数据库系统无法适应l应用角度:要求对大量的数据从各个角度进行综合分析(多维分析)应用角度:要求对大量的数据从各个角度进行综合分析(多维分析)l技术角度:技术角度:SQL已经不能很好的适应分析应用需求已经不能很好的适应分析应用需求查询效率(响应时间):一条分析查询语句可能会分解为多条子查询,而每查询效率(响应时间):一条分析查询语句可能会分解为多条子查询,而每条子查询又可能涉及多个整表扫描、多表连接、聚集计算和排序,并且需要条子查询又可能涉及多个整表扫描、多表连接、聚集计算和排序,并且需要开辟较大的空间来存储各种临时表和中
25、间计算结果。开辟较大的空间来存储各种临时表和中间计算结果。SQL本身的限制,尤其对时间的处理能力本身的限制,尤其对时间的处理能力l典型分析应用:对一些统计指标典型分析应用:对一些统计指标 (销售金额)(销售金额)从不同角度(维)从不同角度(维)(时间、地区、商品类型)(时间、地区、商品类型)从不同级别(层次)(地区:县、地市、省、大区)从不同级别(层次)(地区:县、地市、省、大区)l在在RDBMS上开发前端产品,支持上述应用逻辑上开发前端产品,支持上述应用逻辑E.F.Codd把这类技术称为把这类技术称为“OLAP”(1993年)年)多维数据模型多维数据模型l多维数据模型又称多维概念视图,通常用
26、多维数据模型又称多维概念视图,通常用Cube(或(或HyperCube)来表)来表示。示。l多维数据模型可以更加直观的表示现实中的复杂关系多维数据模型可以更加直观的表示现实中的复杂关系l多维数据模型的基本组成:多维数据模型的基本组成:l维维l度量(变量、指标)度量(变量、指标)sumJ1J2J4sum批发批发.sum零售零售J3北京北京.上海上海广东广东时间时间地区地区销售渠道销售渠道销售额销售额J1北京北京批发批发1200J1北京北京零售零售2300J1上海上海批发批发1233J1上海上海零售零售2122J2北京北京批发批发3312J2上海上海批发批发3423若干概念术语若干概念术语l度量(
27、变量、指标):数据的实际意义,一般是一个数值度量(变量、指标):数据的实际意义,一般是一个数值 例如:销售量、销售额,例如:销售量、销售额,而具体数据(如而具体数据(如“10000”)是变量的一个值)是变量的一个值l维:维:观察数据的特定角度观察数据的特定角度 例如:时间、地区,例如:时间、地区,l维的层次:特定角度的不同细节程度维的层次:特定角度的不同细节程度 例如:时间维:日、周、月、季、年例如:时间维:日、周、月、季、年 地理维:城市、地区、国家地理维:城市、地区、国家若干概念术语(续若干概念术语(续)l维的成员:维的一个取值(称为该维的一个成员)或维的成员:维的一个取值(称为该维的一个
28、成员)或 不同维层次的取值的集合(对多层次情况)。不同维层次的取值的集合(对多层次情况)。l例如:时间维:三个层次,日、月、年,例如:时间维:三个层次,日、月、年,维成员:维成员:1999年年5月月20日日l可以在某些层次上不取值,如可以在某些层次上不取值,如1999年年5月;月;5月月20日;日;1999年年l维成员是数据在该维上的位置描述维成员是数据在该维上的位置描述例如:例如:1999年年5月月20日销售额日销售额 表示销售额数据在时间维上的位置表示销售额数据在时间维上的位置 (相当于时间轴上的某一点或某一区间)(相当于时间轴上的某一点或某一区间)多维分析的基本分析动作多维分析的基本分析
29、动作l切片(切片(Slice)从多维数组选定一个二维子集,切出一个从多维数组选定一个二维子集,切出一个“平面平面”l切块(切块(Dice)从多维数组选定一个三维子集,切出一个从多维数组选定一个三维子集,切出一个“立方体立方体”l旋转(旋转(Rotate)改变一个报告(或页面)显示的维方向改变一个报告(或页面)显示的维方向l钻取(钻取(Drill Down/Roll Up)获得更加详细(或综合)的数据获得更加详细(或综合)的数据切片举例切片举例选定时间维的维成员选定时间维的维成员19971997年年1 1月月 1997 1997年年1 1月月 产品销售情况产品销售情况时间维时间维地区维地区维产产
30、品品维维产产品品维维地区维地区维产品产品销售情况销售情况选定两个维:产品维和地区维选定两个维:产品维和地区维 数据切片数据切片旋转举例旋转举例时间维时间维产产品品维维产品维产品维时时间间维维 行列交换行列交换旋转举例(续旋转举例(续)地区地区 北京北京 上海上海 时间时间 产品产品 销售量销售量 销售量销售量 第一季度第一季度 :第二季度第二季度 :地区地区 北京北京 上海上海时间时间 第一季度第一季度 第二季度第二季度 .产品产品 :将某行维将某行维换向列维换向列维钻取举例钻取举例day 2s1s2s3p1444p2s1s2s3p11250p2118s1s2s3p156450p2118s1s
31、2s3sum671250sump1110p219129.向下钻取向下钻取向上向上钻取钻取基本基本操作:求和操作:求和day 1sale(s1,*,*)sale(*,*,*)sale(s2,p2,*)典型典型Data CubesumJ1J2J4sum批发批发.sum零售零售J3北京北京.上海上海广东广东按照维层次钻取按照维层次钻取region Aregion Bp15654p2118storeregioncountry(store s1 in Region A;stores s2,s3 in Region B)day 2s1s2s3p1444p2s1s2s3p11250p2118day 1OLT
32、P与与OLAP的比较的比较OLTPOLTPOLAPOLAP用户用户面向操作人员,支持日常操作面向操作人员,支持日常操作 面向决策人员,支持管理需要面向决策人员,支持管理需要 用途用途 面向应用,事务驱动面向应用,事务驱动 面向分析,分析驱动面向分析,分析驱动 数据情况数据情况 当前值数据,细节性数据当前值数据,细节性数据 历史数据历史数据 ,综合数据,综合数据一次处理数据量一次处理数据量小小 大大 访问更新访问更新可更新可更新 大量查询,极少更新,但周期性刷新大量查询,极少更新,但周期性刷新 用户量用户量大大小小数据规模数据规模100M-1GB100M-1GB100GB-TB100GB-TB考
33、察角度考察角度事务吞吐量事务吞吐量查询吞吐量,响应时间查询吞吐量,响应时间介绍内容介绍内容l为什么需要数据仓库技术为什么需要数据仓库技术l什么是数据仓库什么是数据仓库l什么是联机分析处理技术什么是联机分析处理技术l联机分析处理技术实现联机分析处理技术实现l联机分析处理方法分类联机分析处理方法分类l多维数据库多维数据库l数据仓库系统的体系结构数据仓库系统的体系结构OLAPOLAP的实现方法的实现方法lRelational OLAP(ROLAP)l利用关系数据库来存储和管理基本数据和聚合数据,并利用一些中利用关系数据库来存储和管理基本数据和聚合数据,并利用一些中间件来支持缺失数据的处理间件来支持缺
34、失数据的处理l具有良好的可扩展性具有良好的可扩展性lMultidimensional OLAP(MOLAP)l利用多维数据库来存放和管理基本数据和聚合数据利用多维数据库来存放和管理基本数据和聚合数据,其中需要对,其中需要对稀疏矩阵处理技术稀疏矩阵处理技术l对预综合的数据进行快速索引对预综合的数据进行快速索引lHybrid OLAP(HOLAP)l利用关系数据库来存储和管理基本数据,利用多维数据库来存储和利用关系数据库来存储和管理基本数据,利用多维数据库来存储和管理聚合数据。管理聚合数据。多维数据的组织存放多维数据的组织存放l例例维维1:产品;维成员:冰箱、彩电、空调;:产品;维成员:冰箱、彩电
35、、空调;维维2:地区;维成员:东北、西北、华北;:地区;维成员:东北、西北、华北;变量:销售量变量:销售量lRDB中的数据组织中的数据组织 MDB中的数据组织中的数据组织产产 品品 名名 称称 地地 区区 销销 售售 量量 冰冰 箱箱 东东 北北 冰冰 箱箱 西西 北北 冰冰 箱箱 华华 北北 冰冰 箱箱 总总 和和 彩彩 电电 东东 北北 彩彩 电电 西西 北北 彩彩 电电 华华 北北 彩彩 电电 总总 和和 空空 调调 东东 北北 空空 调调 西西 北北 空空 调调 华华 北北 空空 调调 总总 和和 总总 和和 东东 北北 总总 和和 西西 北北 总总 和和 华华 北北 总总 和和 总总
36、 和和 东东 北北 西西 北北 华华 北北 总总 和和 冰冰 箱箱 彩彩 电电 空空 调调 总总 和和 输入成员输入成员 输入成员输入成员 导出成员导出成员 导出成员导出成员MDB方法的优点方法的优点l细节数据细节数据l清晰简明,占用存储少清晰简明,占用存储少l性能好,尤其像性能好,尤其像“冰箱销售总量是多少?冰箱销售总量是多少?”的查询的查询lRDB方法:找出有关方法:找出有关“冰箱冰箱”的记录,再对销售量求和的记录,再对销售量求和lMDB方法:找到有关方法:找到有关“冰箱冰箱”的行,按行求和的行,按行求和l综合数据综合数据l多维概念表达清晰,占用存储少多维概念表达清晰,占用存储少l对数据进
37、行综合的速度快(只需按行对数据进行综合的速度快(只需按行/列累加)列累加)l在在RDB中,中,“总和总和”作为某个域上的取值(属性值)与列定义语作为某个域上的取值(属性值)与列定义语义不符义不符维的层次关系维的层次关系l 简单层次关系简单层次关系l较复杂的层次关系较复杂的层次关系维的层次关系维的层次关系l不支持层次关系带来的问题不支持层次关系带来的问题增加维的数目,变成非常增加维的数目,变成非常“稀疏稀疏”的状况的状况标注:标注:表示有意义的单元表示有意义的单元 表示无意义的空单元表示无意义的空单元省维省维城市维城市维沈阳沈阳哈尔滨哈尔滨大连大连长春长春辽宁省辽宁省黑龙江黑龙江吉林省吉林省时间
38、维时间维产品维产品维西北西北陕西陕西甘肃甘肃宁夏宁夏.东北东北黑龙江黑龙江吉林吉林辽宁辽宁沈阳沈阳大连大连.ROLAP:星型模式(星型模式(Star Schema)time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_streetcountrylocationSales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_keyitem_name
39、brandtypesupplier_typeitembranch_keybranch_namebranch_typebranchROLAP:星型模式(星型模式(Star Schema)l销售事务表为事实表销售事务表为事实表l四个维表:产品、销售渠道、地理、时间四个维表:产品、销售渠道、地理、时间l事实表中的变量值为总收益、销售量事实表中的变量值为总收益、销售量维表码值为:产品代码、销售商代码、邮政编维表码值为:产品代码、销售商代码、邮政编码、财政星期序号码、财政星期序号l事实表与维表的连接操作实现数据的多维查询,事实表与维表的连接操作实现数据的多维查询,查询变量的值及对应的维成员查询变量的值及
40、对应的维成员ROLAP:雪片模式雪片模式(Snow Flake Schema)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_typebranchs
41、upplier_keysupplier_typesuppliercity_keycityprovince_or_streetcountrycityROLAP:雪片模式雪片模式(Snow Flake Schema)l维的层次和类组合构成复杂的维维的层次和类组合构成复杂的维l无法用一张维表表示复杂的维无法用一张维表表示复杂的维l用多张表来描述复杂的维用多张表来描述复杂的维每个维层次对应一张表;每个类属性对应一张表;每个维层次对应一张表;每个类属性对应一张表;维表用来存放上述各表(对应层次的表、对应类的表)的维表用来存放上述各表(对应层次的表、对应类的表)的码值码值MOLAP:多维数据库存储多维数据
42、库存储l由许多(经压缩的)类似于数组的对象构成由许多(经压缩的)类似于数组的对象构成l每个对象由聚集成组的单元块组成每个对象由聚集成组的单元块组成l每个单元块按类似于多维数据的结构存储每个单元块按类似于多维数据的结构存储l通过直接偏移计算进行存取通过直接偏移计算进行存取l每个对象带有(压缩的)索引和指针结构每个对象带有(压缩的)索引和指针结构l分析时常需维间的组合分析时常需维间的组合l从而需从而需“旋转旋转”(数据立方体)及(数据立方体)及“切片切片”l须高效的稀疏数据处理能力须高效的稀疏数据处理能力两种实现技术比较两种实现技术比较lMOLAP结构结构l结构简洁、明了结构简洁、明了l适应数据量
43、相对较少适应数据量相对较少的情况的情况l灵活性稍差灵活性稍差lROLAP结构结构l结构相对庞大结构相对庞大l适应数据量很大的情适应数据量很大的情况况l灵活性好灵活性好OLAP Cube的构建的构建sumJ1J2J4sum电视电视.sum冰箱冰箱J3北京北京.上海上海广东广东维:时间、产品、地区维:时间、产品、地区综合的维层次:综合的维层次:l销售量、销售额等度量是关于时间、产品和地区的一个函数销售量、销售额等度量是关于时间、产品和地区的一个函数产品大类产品大类 大区大区 年份年份产品小类产品小类 省份省份 季度季度产品名称产品名称 城市城市 月份月份 周次周次 日期日期Cuboid和和Cell
44、的概念的概念alll在多维数据的每一维中选定一个层次在多维数据的每一维中选定一个层次以后,所得到的将是一个由度量在相以后,所得到的将是一个由度量在相应维层次上所有取值构成的小立方体,应维层次上所有取值构成的小立方体,它对应于它对应于CubeCube中的一个结点,我们称中的一个结点,我们称之为之为CuboidCuboid。l在选定维层次后,如果我们再选定维在选定维层次后,如果我们再选定维成员,那么得到的将是度量的一个具成员,那么得到的将是度量的一个具体取值,它对应于体取值,它对应于CuboidCuboid的一个结点,的一个结点,我们称之为我们称之为CellCell。产品名称产品名称产品小类产品小
45、类ALL城市城市ALL日期日期ALL聚集函数分类聚集函数分类lDistributive(分布函数)(分布函数)l对于这种聚集函数,我们可以将输入数据分成不相交的集对于这种聚集函数,我们可以将输入数据分成不相交的集合,分别进行聚集计算,最后将结果合并。例如:合,分别进行聚集计算,最后将结果合并。例如:Max、Count、Sum等。等。lAlgebraic(代数函数)(代数函数)l对于这种聚集函数能够转换为对于这种聚集函数能够转换为Distributive类型的聚集函类型的聚集函数表达式。例如:数表达式。例如:Average。Average可以表示为:可以表示为:Sum()()/Count()。(
46、)。lHolistic(全盘函数)(全盘函数)l这种函数不能通过多个子集合聚集计算的合并来实现。例这种函数不能通过多个子集合聚集计算的合并来实现。例如:求中值函数如:求中值函数median,排名函数排名函数rank。高效的高效的Data Cube计算计算l数据数据Cube中的所有中的所有Cuboid可以形成一个格(可以形成一个格(Lattice)。)。l最低层次的最低层次的Cuboid(称为基点)代表所有维的最低的抽象层次;(称为基点)代表所有维的最低的抽象层次;l最高层次的最高层次的Cuboid(称为顶点)则在最高的抽象层次上汇总了所有维。(称为顶点)则在最高的抽象层次上汇总了所有维。lCu
47、boid的个数:从理论上说,的个数:从理论上说,n维维Cube中,如果第中,如果第i维有维有ki个层次,则个层次,则Cuboid的总数为的总数为N=k1*k2*kn个。一个个。一个10维的维的Cube,如果每个维都有,如果每个维都有5个个层次,则层次,则Cuboid总数约为总数约为10的的7次方。次方。lCube实例化实例化l全部实例化、全部实例化、0实例化、实例化、部分实例化部分实例化l部分实例化的依据部分实例化的依据l所需要的存储开销即所需要的存储开销即Cuboid的的Sizel共享访问的频率等共享访问的频率等ROLAP Cube计算与计算与MOLAP Cube计计算的比较算的比较lROL
48、AP Cube 计算计算lROLAP系统采用关系表来存储数据,用一个元组来表示逻辑多维空间中的系统采用关系表来存储数据,用一个元组来表示逻辑多维空间中的一个一个Cell。一张表对应一个。一张表对应一个Cuboid。lROLAP Cube计算主要采用计算主要采用Group-by操作符来实现多维聚集。操作符来实现多维聚集。lROLAP Cube计算中共享排序的结果可以大大提高检索和计算的效率。计算中共享排序的结果可以大大提高检索和计算的效率。lMOLAP Cube计算计算lMOLAP中数据存储于一个固定的位置中,该位置是由维成员来确定。中数据存储于一个固定的位置中,该位置是由维成员来确定。l不需要
49、通过排序来提高效率。不需要通过排序来提高效率。lMOLAP Cube计算可以利用存储上的优势,进行分块操作,可以实现多路计算可以利用存储上的优势,进行分块操作,可以实现多路聚集。聚集。lMOLAP Cube计算的效率比计算的效率比ROLAP Cube计算的效率要高,但其复杂性也计算的效率要高,但其复杂性也高。高。国外联机分析处理工具提供商国外联机分析处理工具提供商l Hyperion l Cognos l Business Objectl Brio介绍内容介绍内容l为什么需要数据仓库技术为什么需要数据仓库技术l什么是数据仓库什么是数据仓库l什么是联机分析处理技术什么是联机分析处理技术l联机分析
50、处理技术实现联机分析处理技术实现l数据仓库系统的体系结构数据仓库系统的体系结构数据仓库系统的体系结构数据仓库系统的体系结构外部数据外部数据数据仓库数据仓库管理系统管理系统数据集市数据集市前端工具和前端工具和应用系统应用系统服务服务OLAP服务服务器器OLAP服务器服务器数据查询工具数据查询工具自由报表工具自由报表工具数据分析工具数据分析工具各类应用系统各类应用系统元数据管理元数据管理数据仓库监测、运行与维护工具数据仓库监测、运行与维护工具数据挖掘工具数据挖掘工具数据源数据源数据存储及管理数据存储及管理OLAP引擎引擎前端工具和应用前端工具和应用现有业务系统现有业务系统文档资料文档资料系统组成: