版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1数据仓库与数据挖掘
—第3章—数据仓库与OLAP概述1数据仓库与数据挖掘
—第3章—数据仓库与OLAP概述2第3章数据仓库与OLAP技术概述什么是数据仓库?多维数据模型数据仓库系统结构数据仓库实现从数据仓库到数据挖掘2第3章数据仓库与OLAP技术概述什么是数据仓库?数据仓库的发展IBM:在其DB2UDB发布一年后的1998年9月发布5.2版,并于1998年12月推向中国市场,除了用于OLAP(联机分析处理)的后台服务器DB2OLAPServer外,IBM还提供了一系列相关的产品,包括前端工具,形成一整套解决方案。Informix公司:在其动态服务器IDS(InformixDynamicServer)中提供一系列相关选件,如高级决策支持选件(AdvancedDecisionSupportOption)、OLAP选件(MetaCubeROLAPOption)、扩展并行选件(ExtendedParallelOption)等,这种体系结构严谨、管理方便、索引机制完善,并行处理的效率更高,其中数据仓库和数据库查询的SQL语句的一致性使得用户开发更加简便。数据仓库的发展IBM:在其DB2UDB发布一年后的1998数据仓库的发展微软公司:在其SQLServer7.0以及SQLServer2000中集成了代号为Plato的OLAP服务器。Sybase:提供了专门的OLAP服务器SybaseIQ,并将其与数据仓库相关工具打包成WarehouseStudio。PLATINUM:提出了由InfoPump(数据仓库建模与数据加载工具)和Forest&Trees(前端报表工具)构成的一套较有特色的整体方案。;Oracle公司:则推出从数据仓库构建、OLAP到数据集市管理等一系列产品包(如OracleWarehouseBuilder、OracleExpress、DataMartSuit等)。
数据仓库的发展微软公司:在其SQLServer7.0以及数据仓库的我国的发展前景:随着计算机技术的发展,尤其是分布式技术的发展,数据仓库在我国有着广阔的发展空间和良好的发展前景。例如:由于银行商业化的步伐正在加大,各大中型银行在入世的机遇和挑战下,开始重新考虑自身的业务,特别是信贷风险管理方面特别注意,因而有关信贷风险管理和风险规章的基于数据仓库的决策支持系统的需求逐渐增多;由于电子商务的迅速发展,越来越多的电子商务网站,开始考虑如何将数据仓库应用于商品销售分析、顾客的诚信度分析等,为客户提供更进一步的个性化服务;如移动通信等各大型企业也开始考虑着手进行决策支持以及数据仓库规划。数据仓库的我国的发展前景:随着计算机技术的发展,尤其是分布式数据挖掘的发展数据挖掘是与数据仓库密切相关的一个信息技术新领域,它是信息技术自然演化的结果。随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多,但缺乏挖掘数据中隐藏的知识的手段,导致了“数据爆炸但知识贫乏的”现象。自80年代后期以来,联机分析处理(OLAP)和数据挖掘技术应运而生。数据挖掘的发展数据挖掘是与数据仓库密切相关的一个信息技术新领3.1什么是数据仓库数据仓库用来保存从多个数据库或其它信息源选取的数据,并为上层应用提供统一用户接口,完成数据查询和分析。数据仓库是作为DSS服务基础的分析型DB,用来存放大容量的只读数据,为制定决策提供所需要的信息。数据仓库是与操作型系统相分离的、基于标准企业模型集成的、带有时间属性的、面向主题及不可更新的数据集合。W.H.Inmon对数据仓库所下的定义:数据仓库是一个面向主题的、集成的、时变的和非易失的数据集合,支持管理部门的决策过程。3.1什么是数据仓库数据仓库用来保存从多个数据库或其它信息源数据仓库的适用范围信息源中的数据变化稳定或可预测应用不需要最新的数据或允许有延迟应用要求有较高的查询性能 而降低精度要求数据仓库的适用范围信息源中的数据变化稳定数据仓库中数据的特点
面向主题集成性非易失性时变性数据仓库中数据的特点面向主题面向主题主题:是一个抽象的概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑上,它对应于企业中某一宏观分析领域所涉及的分析对象。面向主题的数据组织方式可在较高层次上对分析对象的数据给出完整、一致的描述,能完整、统一的刻画各个分析对象所涉及的企业的各项数据以及数据之间的联系,从而适应企业各个部门的业务活动特点和企业数据的动态特征,从根本上实现数据与应用的分离。面向主题主题:是一个抽象的概念,是在较高层次上将企业信息系统集成性数据仓库中的数据是从原有分散的源数据库中提取出来的,其每一个主题所对应的源数据在原有的数据库中有许多冗余和不一致,且与不同的应用逻辑相关。为了创建一个有效的主题域,必须将这些来自不同数据源的数据集成起来,使之遵循统一的编码规则。因此,数据仓库在提取数据时必须经过数据集成,消除源数据中的矛盾,并进行数据综合和计算。经过数据集成后,数据仓库所提供的信息比数据库提供的信息更概括、更本质。
集成性数据仓库中的数据是从原有分散的源数据库中提取出来的,其非易失性数据仓库中的数据反映的是一段时间内历史数据的内容,是不同时点的数据库快照的集合,以及基于撰写快照进行统计、综合和重组的导出数据,而不是联机处理的数据。主要供企业高层决策分析之用,所涉及的数据操作主要是查询,一般情况下并不进行修改操作,即数据仓库中的数据是不可实时更新的,仅当超过规定的存储期限,才将其从数据仓库中删除,提取新的数据经集成后输入数据仓库。非易失性数据仓库中的数据反映的是一段时间内历史数据的内容,是时变性时变性:许多商业分析要求对发展趋势做出预测,对发展趋势的分析需要访问历史数据。因此数据仓库必须不断捕捉OLTP数据库中变化的数据,生成数据库的快照,经集成后增加到数据仓库中去;另外数据仓库还需要随时间的变化删去过期的、对分析没有帮助的数据,并且还需要按规定的时间段增加综合数据。时变性时变性:许多商业分析要求对发展趋势做出预测,对发展趋势支持管理决策数据仓库支持OLAP(联机分析处理)、数据挖掘和决策分析。OLAP从数据仓库中的综合数据出发,提供面向分析的多维模型,并使用多维分析的方法从多个角度、多个层次对多维数据进行分析,使决策者能够以更加自然的方式来分析数据。数据挖掘则以数据仓库和多维数据库中的数据为基础,发现数据中的潜在模式和进行预测。因此,数据仓库的功能是支持管理层进行科学决策,而不是事务处理。支持管理决策数据仓库的技术要求大量数据的组织和管理:包含了大量的历史数据,它是从数据库中提取得来的,不必关心它的数据安全性和数据完整性。复杂分析的高性能体现:涉及大量数据的聚集、综合等,在进行复杂查询时经常会使用多表的联接、累计、分类、排序等操作。对提取出来的数据进行集成:数据仓库中的数据是从多个应用领域中提取出来的,在不同的应用领域和不同的数据库系统中都有不同的结构和形式,所以如何对数据进行集成也是构建数据仓库的一个重要方面。对进行高层决策的最终用户的界面支持:提供各种分析应用工具。数据仓库的技术要求大量数据的组织和管理:包含了大量的历史数据操作数据库与数据仓库的区别操作数据库系统的主要任务是联机事务处理OLTP数据仓库在数据分析和决策方面为用户提供服务,这种系统称为联机分析处理OLAP操作数据库与数据仓库的区别操作数据库系统的主要任务是联机事务事务型处理与分析型处理事务型处理:即操作型处理,是指对数据库的联机操作处理。事务型处理是用来协助企业对响应事件或事务的日常商务活动进行处理。它是事件驱动、面向应用的,通常是对一个或一组记录的增、删、改以及简单查询等。事务型处理的应用程序和数据是紧紧围绕着所管理的事件来构造的。在事务型处理环境中,数据库要求能支持日常事务中的大量事务,用户对数据的存取操作频率高而每次操作处理的时间短。事务型处理与分析型处理事务型处理:即操作型处理,是指对数据库分析型处理分析型处理:用于管理人员的决策分析,例如DSS、EIS、和多维分析等。它帮助决策者分析数据以察看趋向、判断问题。分析型处理经常要访问大量的历史数据,支持复杂的查询。在分析型处理中,并不是对从事务型处理环境中得到的细节数据进行分析。细节数据量太大,会严重影响分析的效率,而且太多的细节数据不利于分析人员将注意力集中于有用的信息。分析型处理过程中经常用到外部数据,这部分数据不是由事务型处理系统产生的,而是来自于其他外部数据源。分析型处理分析型处理:用于管理人员的决策分析,例如DSS、事务型处理数据和分析型处理数据的区别
事务型处理数据 分析型处理数据
细节的综合的,或提炼的 在存取瞬间是准确的代表过去的数据 可更新 不可更新,只读的 操作需求事先可知道 操作需求事先不知 生命周期符合SDLC 完全不同的生命周期对性能要求高对性能要求宽松一个时刻操作一个单元 一个时刻操作一个事务驱动 分析驱动 面向应用 面向分析一次操作数据量小 一次操作数据量大 支持日常操作 支持管理需求
事务型处理数据和分析型处理数据的区别事务型处理数据 OLTP和OLAP的区别用户和系统的面向性:OLTP是面向顾客的,用于事务和查询处理OLAP是面向市场的,用于数据分析数据内容:OLTP系统管理当前数据.OLAP系统管理大量历史数据,提供汇总和聚集机制.OLTP和OLAP的区别用户和系统的面向性:数据库设计:OLTP采用实体-联系ER模型和面向应用的数据库设计.OLAP采用星型或雪花模型和面向主题的数据库设计.视图:OLTP主要关注一个企业或部门内部的当前数据,不涉及历史数据或不同组织的数据OLAP则相反.数据库设计:访问模式:OLTP系统的访问主要由短的原子事务组成.这种系统需要并行和恢复机制.OLAP系统的访问大部分是只读操作.访问模式:为什么需要分离的数据仓库分离操作数据库系统和数据仓库的主要原因是提高两个系统的性能.操作数据库系统是为已知的任务和负载设计的,而数据仓库的查询通常是复杂的,涉及大量数据在汇总级的计算,在操作数据库系统上处理OLAP查询,可能会大大降低操作任务的性能.为什么需要分离的数据仓库分离操作数据库系统和数据仓库的主要3.2多维数据模型数据仓库和OLAP工具基于多维数据模型,该模型将数据看作数据立方体形式数据立方体允许以多维对数据建模和观察.具体图形详见71页图3-13.2多维数据模型数据仓库和OLAP工具基于多维数据模型,多维数据库模式星型,雪花和事实星座模式是主要的存在形式星型模式包含一个大的包含大批数据的事实表和一系列维表.如73页图3-4雪花模式是星型模式的变种,不同的是将某些维表规范化.如74页图3-5事实星座模式对应多个事实表共享维表.如74页图3-6多维数据库模式星型,雪花和事实星座模式是主要的存在形式26星形模式例子
time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationSalesFactTable
time_key
item_key
branch_key
location_key
units_sold
dollars_sold
avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch26星形模式例子time_keytimelocatio27雪花形模式time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationSalesFactTable
time_key
item_key
branch_key
location_key
units_sold
dollars_sold
avg_salesMeasuresitem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity27雪花形模式time_keytimelocation_ke28事实星座形time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationSalesFactTabletime_key
item_key
branch_key
location_key
units_sold
dollars_sold
avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranchShippingFactTabletime_key
item_key
shipper_key
from_location
to_location
dollars_cost
units_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper28事实星座形time_keytimelocation_ke定义模式的例子定义图3-4的星型模式:定义立方体:Definecubesales_star[time,item,branch,location]:dollars_sold=sum(sales_in_dollars),units_old=count(*)定义模式的例子定义图3-4的星型模式:定义维
Definedimensiontimeas(time_key,day,day_of_week,month,quarter,year)定义维度量的分类和计算分布的:
设数据被划分为n个集合,函数在每一部分上的计算得到一个聚集值.如果将函数用于n个聚集值得到的结果,与将函数用于所有数据得到的结果一样则该度量是分布的,如count(),sum()等度量的分类和计算分布的:代数的:
如果一个聚集函数能够由一个具有M个参数的代数函数计算,且每个参数都可以用一个分布聚集函数求得.如avg()可以由sum()/count()计算,其中sum()和count()是分布聚集函数.代数的:整体的:
如果一个聚集函数无法用具有M个参数的代数函数进行这一计算,则这个函数称是整体的,如rand()等许多度量可以用关系的聚集操作计算对应图2-4,我们也可写出SQL语句.整体的:计算dollars_sold和units_soldSelectsum(s.number_of_units_sold*s.price)Sum(s.number_of_units_sold)Fromtimet,itemi,branchb,locationl,saless,Wheres.time_key=t.time_keyands.item_key=i.item_keyands.branch_key=b.branch_keyands.loation_key=l.location_keyGroupbys.time_key,s.item_key,s.branch_key,s.location_key计算dollars_sold和units_soldSelec概念分层全序相关偏序相关
CountryyearCityquartermonthweekStreetday概念分层全序相关36概念分层allEuropeNorth_AmericaMexicoCanadaSpainGermanyVancouverM.WindL.Chan..................allregionofficecountryTorontoFrankfurtcity36概念分层allEuropeNorth_AmericaMe37仓库与概念视图SpecificationofhierarchiesSchemahierarchyday<{month<quarter;week}<yearSet_groupinghierarchy{1..10}<inexpensive37仓库与概念视图Specificationofhier38多维数据Salesvolumeasafunctionofproduct,month,andregionProductRegionMonthDimensions:Product,Location,TimeHierarchicalsummarizationpathsIndustryRegionYearCategoryCountryQuarterProductCityMonthWeekOfficeDay38多维数据Salesvolumeasafuncti39ASampleDataCubeTotalannualsalesofTVinU.S.A.DateProductCountryAll,All,Allsumsum
TVVCRPC1Qtr2Qtr3Qtr4QtrU.S.ACanadaMexicosum39ASampleDataCubeTotalannu多维数据模型的OLAP操作上卷操作,通过维规约,在数据立方体上进行聚集.下钻操作,是上卷操作的逆操作,由不太详细的数据到更详细的数据.切片和切块,切片在给定的数据立方体的一个维上进行选择,切块则是在两个或两个以上的维进行选择.转轴操作,转动数据的视觉,是目视操作.如图3-10所示多维数据模型的OLAP操作上卷操作,通过维规约,在数据立方体41图3.10典型OLAP操作41图3.10典型OLAP操作3.3数据仓库的系统结构自顶向下视图,使我们可以选择数据仓库所需的相关信息.数据源视图,揭示被操作数据库系统捕获存储和管理的信息.数据仓库视图,包括事实表和维表.商务查询视图,从最终用户的角度透视数据仓库中的数据.3.3数据仓库的系统结构自顶向下视图,使我们可以选择数据43数据仓库的设计:商业分析框架四种视图自定向下视图allowsselectionoftherelevantinformationnecessaryforthedatawarehouse数据源视图exposestheinformationbeingcaptured,stored,andmanagedbyoperationalsystems数据仓库视图consistsoffacttablesanddimensiontables商业查询视图
seestheperspectivesofdatainthewarehousefromtheviewofend-user43数据仓库的设计:商业分析框架四种视图数据仓库设计过程选取待建模的商务处理选取商务处理的粒度,例如单个事务,一天的快照等选取用于每个事实表记录的维.选取将安放在事实表中的度量如图3-4中的dollars_sold和units_sold数据仓库设计过程选取待建模的商务处理45数据仓库:多层结构DataWarehouseExtractTransformLoadRefreshOLAP引擎AnalysisQueryReportsDataminingMonitor&IntegratorMetadata数据源前端工具ServeDataMartsOperationalDBsOthersources数据存储OLAPServer45数据仓库:多层结构DataExtractOLAP引擎三层数据仓库结构底层数据仓库服务器,使用称作网间连接程序的应用程序,由操作数据库和外部数据源提取数据.中间层是OLAP服务器,实现方法有关系OLAP模型,在多维数据上的操作映射为标准的关系操作多维OLAP模型,直接实现多维数据的操作三层数据仓库结构底层数据仓库服务器,使用称作网间连接程序的应顶层是客户,它包括查询和报告工具,分析工具和数据挖掘工具(例如趋势分析,预测等)顶层是客户,它包括查询和报告工具,分析工具和数据挖掘工具(例数据仓库的类型企业仓库:企业仓库收集了关于主题的所有信息,跨越整个组织,它提供企业范围内的数据集成.数据集市:包含企业范围数据的一个子集,对于特定的用户是有用的,其范围限于选定的主题.虚拟仓库:是操作数据库上的视图集合.为了有效地处理查询,只有一些可能的汇总视图被物化,虚拟仓库易于建立,但需要操作数据库服务器具有剩余能力.数据仓库的类型企业仓库:企业仓库收集了关于主题的所有信息,跨49数据仓库开发的推荐方法Defineahigh-levelcorporatedatamodelDataMartDataMartDistributedDataMartsMulti-TierDataWarehouseEnterpriseDataWarehouseModelrefinementModelrefinement49数据仓库开发的推荐方法Defineahigh-lev50数据仓库后端工具和实用程序数据提取getdatafrommultiple,heterogeneous,andexternalsources数据清理detecterrorsinthedataandrectifythemwhenpossible数据变换convertdatafromlegacyorhostformattowarehouseformat装入sort,summarize,consolidate,computeviews,checkintegrity,andbuildindiciesandpartitions刷新propagatetheupdatesfromthedatasourcestothewarehouse50数据仓库后端工具和实用程序数据提取OLAP服务器类型关系OLAP(ROLAP)模型,使用关系或扩充关系DBMS存放并管理数据仓库多维OLAP(MOLAP)服务器,这些服务器通过基于数组的多维存储,支持数组的多维视图混合OLAP(HOLAP)服务器,结合ROLAP和MOLAP技术,得宜于ROLAP的可伸缩性,和MOLAP的快速计算.OLAP服务器类型关系OLAP(ROLAP)模型,使用关系或特殊的SQL服务器,为了满足在关系数据库中日益增长的OLAP需要,实现了特殊的SQL服务器,提供高级查询语言和查询处理,在星型和雪花模式上支持SQL查询.特殊的SQL服务器,为了满足在关系数据库中日益增长的OLAP数据立方体的有效计算计算量:对一个n维数据立方体,第i维的层次是Li,则可能产生的立方体总数是T=(L1+1)*…*(Ln+1)如果10维每维4个层次产生的方体数是5的10次方=9800000.预先计算并物化所有可能产生的方体是不现实的,较合理的是部分物化3.4数据仓库实现数据立方体的有效计算计算量:对一个n维数据立方体,第i维的层方体的选择计算不物化:导致运行时计算昂贵的多维聚集,速度极慢.全物化:需要海量存储空间,存放所有预先计算的方体.部分物化:在存储空间和响应时间二者之间提供了很好的折衷.方体的选择计算不物化:导致运行时计算昂贵的多维聚集,速度极慢多路数组聚集将数组分成块,块的大小能够放入立方体计算时可用的内存.通过访问立方体单元进行聚集,使得每个单元必须重新访问的次数最小化.多路数组聚集将数组分成块,块的大小能够放入立方体计算时可用的索引OLAP数据位图索引:如图3-17所示,与散列和树索引相比,位图索引将比较,连接和聚集都变成了位算术运算,大大减少了运行时间.连接索引:源于关系数据库的查询处理.位图连接索引:将连接索引和位图索引集成.索引OLAP数据位图索引:如图3-17所示,与散列和树索引相OLAP查询的有效处理确定那些操作应当在可利用的方体上执行,这涉及将查询中的选择投影上卷下钻操作转换成对应的SQL或OLAP操作.确定相关操作应当使用哪些物化的方体,这涉及到找出可能用于查询的所有物化方体.OLAP查询的有效处理确定那些操作应当在可利用的方体上执行,具体步骤考察的方体必须与查询具有相同的维集合,或是它的超集.选择代价最小的方体.具体步骤考察的方体必须与查询具有相同的维集合,或是它的超集.元数据存储元数据是定义数据仓库对象的数据.元数据的存储包括数据仓库结构的描述对元数据的操作汇总用的算法由操作环境到数据仓库的映射关于系统性能的数据商务元数据元数据存储元数据是定义数据仓库对象的数据.元数据数据仓库后端工具数据提取:从多个异种的外部数据源收集数据.数据清理:检测错误,可能时修改错误.数据变换:将数据转换成数据仓库格式.装入:排序,综合,合并,计算视图,检查整体性,并建立索引和划分.刷新:传播由数据源到数据仓库的更新.数据仓库后端工具数据提取:从多个异种的外部数据源收集数据.数据仓库的维护系统维护:是在系统已经交付使用之后为了改正错误和为了满足新的需要而修改系统的过程。数据仓库中数据的日常管理工作:清除过时的、不再使用的数据;定期从源数据中提取数据,刷新数据仓库中的数据;管理元数据等。数据仓库系统的完善工作:改正性维护:在数据仓库设计与开发过程中,虽然已经进行了严格的测试,但对于一个大型的系统可能还潜藏着一些错误,改正性维护就是为了发现和改正这些错误而进行的过程。适应性维护:数据仓库的构建是基于当时的技术条件的,由于计算机科学技术发展十分迅速,每隔一定的周期硬件设备和系统软件都会发生重大的变革,适应性维护就是为了与变化了的环境相配合而进行的对系统进行修改的活动。完善性维护:因为数据仓库系统一般是采用快速原型法开发的,需要在系统的运行过程中不断地听取用户对已有功能的修改建议和增加新功能的需求,使系统日趋完善,这项工作称为完善性维护。预防性维护:预防性维护则是指为了改进系统未来的性能和功能打下基础而进行的修改工作。数据仓库的维护进一步发展和探讨发现驱动的探查:预计算的度量指出数据异常,避免人工检查数据.扩充SQL语句的实现(多粒度上的复杂聚集).联机聚集,可以显示迄今为止所知道的,而不是等待查询完全处理完.最高N查询,只查询最高的N项,而不是整个排序的表,这导致较快的响应时间并减少资源浪费.进一步发展和探讨发现驱动的探查:预计算的度量指出数据异常,避3.5从数据仓库到数据挖掘信息处理:支持查询和基本的统计分析,并使用表或图进行报告.分析处理:支持基本的OLAP操作,在汇总的和细节的历史数据上操作.数据挖掘:支持知识发现,包括找出隐藏的模式和关联,构造分析模型,进行分类和预测,并用可视化工具提供挖掘结果.数据仓库的应用3.5从数据仓库到数据挖掘信息处理:支持查询和基本的统计分联机分析挖掘(OLAM)将联机分析处理与数据挖掘集成,有以下几个原因:数据仓库中数据的高质量:大部分数据挖掘工具需要在集成的一致的和清理过的数据上进行,经由这些预处理而构造的数据仓库不仅用作OLAP而且也用作数据挖掘的数据源.联机分析挖掘(OLAM)将联机分析处理与数据挖掘集成,有以下环绕数据仓库的有价值的信息处理基础设施:谨慎的做法是尽量利用可用的基础设施,而不是一切从头做起.基于OLAP的探测式数据分析:有效的数据挖掘需要探测式数据分析.用户常常想在不同粒度上分析它们.联机分析挖掘提供在不同的数据子集和不同的抽象层上进行数据挖掘的工具.数据挖掘功能的联机选择:用户常常不知道想挖掘些什么.通过将OLAP与多种数据挖掘功能集成在一起,联机分析挖掘为用户选择所期望的数据挖掘功能动态修改挖掘任务提供了灵活性环绕数据仓库的有价值的信息处理基础设施:谨慎的做法是尽量利用66一个OLAM系统架构DataWarehouseMetaDataMDDBOLAMEngineOLAPEngineUserGUIAPIDataCubeAPIDatabaseAPIDatacleaningDataintegrationLayer3OLAP/OLAMLayer2MDDBLayer1DataRepositoryLayer4UserInterfaceFiltering&IntegrationFilteringDatabasesMiningqueryMiningresult66一个OLAM系统架构DataMetaDataMD676768数据仓库与数据挖掘
—第3章—数据仓库与OLAP概述1数据仓库与数据挖掘
—第3章—数据仓库与OLAP概述69第3章数据仓库与OLAP技术概述什么是数据仓库?多维数据模型数据仓库系统结构数据仓库实现从数据仓库到数据挖掘2第3章数据仓库与OLAP技术概述什么是数据仓库?数据仓库的发展IBM:在其DB2UDB发布一年后的1998年9月发布5.2版,并于1998年12月推向中国市场,除了用于OLAP(联机分析处理)的后台服务器DB2OLAPServer外,IBM还提供了一系列相关的产品,包括前端工具,形成一整套解决方案。Informix公司:在其动态服务器IDS(InformixDynamicServer)中提供一系列相关选件,如高级决策支持选件(AdvancedDecisionSupportOption)、OLAP选件(MetaCubeROLAPOption)、扩展并行选件(ExtendedParallelOption)等,这种体系结构严谨、管理方便、索引机制完善,并行处理的效率更高,其中数据仓库和数据库查询的SQL语句的一致性使得用户开发更加简便。数据仓库的发展IBM:在其DB2UDB发布一年后的1998数据仓库的发展微软公司:在其SQLServer7.0以及SQLServer2000中集成了代号为Plato的OLAP服务器。Sybase:提供了专门的OLAP服务器SybaseIQ,并将其与数据仓库相关工具打包成WarehouseStudio。PLATINUM:提出了由InfoPump(数据仓库建模与数据加载工具)和Forest&Trees(前端报表工具)构成的一套较有特色的整体方案。;Oracle公司:则推出从数据仓库构建、OLAP到数据集市管理等一系列产品包(如OracleWarehouseBuilder、OracleExpress、DataMartSuit等)。
数据仓库的发展微软公司:在其SQLServer7.0以及数据仓库的我国的发展前景:随着计算机技术的发展,尤其是分布式技术的发展,数据仓库在我国有着广阔的发展空间和良好的发展前景。例如:由于银行商业化的步伐正在加大,各大中型银行在入世的机遇和挑战下,开始重新考虑自身的业务,特别是信贷风险管理方面特别注意,因而有关信贷风险管理和风险规章的基于数据仓库的决策支持系统的需求逐渐增多;由于电子商务的迅速发展,越来越多的电子商务网站,开始考虑如何将数据仓库应用于商品销售分析、顾客的诚信度分析等,为客户提供更进一步的个性化服务;如移动通信等各大型企业也开始考虑着手进行决策支持以及数据仓库规划。数据仓库的我国的发展前景:随着计算机技术的发展,尤其是分布式数据挖掘的发展数据挖掘是与数据仓库密切相关的一个信息技术新领域,它是信息技术自然演化的结果。随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多,但缺乏挖掘数据中隐藏的知识的手段,导致了“数据爆炸但知识贫乏的”现象。自80年代后期以来,联机分析处理(OLAP)和数据挖掘技术应运而生。数据挖掘的发展数据挖掘是与数据仓库密切相关的一个信息技术新领3.1什么是数据仓库数据仓库用来保存从多个数据库或其它信息源选取的数据,并为上层应用提供统一用户接口,完成数据查询和分析。数据仓库是作为DSS服务基础的分析型DB,用来存放大容量的只读数据,为制定决策提供所需要的信息。数据仓库是与操作型系统相分离的、基于标准企业模型集成的、带有时间属性的、面向主题及不可更新的数据集合。W.H.Inmon对数据仓库所下的定义:数据仓库是一个面向主题的、集成的、时变的和非易失的数据集合,支持管理部门的决策过程。3.1什么是数据仓库数据仓库用来保存从多个数据库或其它信息源数据仓库的适用范围信息源中的数据变化稳定或可预测应用不需要最新的数据或允许有延迟应用要求有较高的查询性能 而降低精度要求数据仓库的适用范围信息源中的数据变化稳定数据仓库中数据的特点
面向主题集成性非易失性时变性数据仓库中数据的特点面向主题面向主题主题:是一个抽象的概念,是在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象。在逻辑上,它对应于企业中某一宏观分析领域所涉及的分析对象。面向主题的数据组织方式可在较高层次上对分析对象的数据给出完整、一致的描述,能完整、统一的刻画各个分析对象所涉及的企业的各项数据以及数据之间的联系,从而适应企业各个部门的业务活动特点和企业数据的动态特征,从根本上实现数据与应用的分离。面向主题主题:是一个抽象的概念,是在较高层次上将企业信息系统集成性数据仓库中的数据是从原有分散的源数据库中提取出来的,其每一个主题所对应的源数据在原有的数据库中有许多冗余和不一致,且与不同的应用逻辑相关。为了创建一个有效的主题域,必须将这些来自不同数据源的数据集成起来,使之遵循统一的编码规则。因此,数据仓库在提取数据时必须经过数据集成,消除源数据中的矛盾,并进行数据综合和计算。经过数据集成后,数据仓库所提供的信息比数据库提供的信息更概括、更本质。
集成性数据仓库中的数据是从原有分散的源数据库中提取出来的,其非易失性数据仓库中的数据反映的是一段时间内历史数据的内容,是不同时点的数据库快照的集合,以及基于撰写快照进行统计、综合和重组的导出数据,而不是联机处理的数据。主要供企业高层决策分析之用,所涉及的数据操作主要是查询,一般情况下并不进行修改操作,即数据仓库中的数据是不可实时更新的,仅当超过规定的存储期限,才将其从数据仓库中删除,提取新的数据经集成后输入数据仓库。非易失性数据仓库中的数据反映的是一段时间内历史数据的内容,是时变性时变性:许多商业分析要求对发展趋势做出预测,对发展趋势的分析需要访问历史数据。因此数据仓库必须不断捕捉OLTP数据库中变化的数据,生成数据库的快照,经集成后增加到数据仓库中去;另外数据仓库还需要随时间的变化删去过期的、对分析没有帮助的数据,并且还需要按规定的时间段增加综合数据。时变性时变性:许多商业分析要求对发展趋势做出预测,对发展趋势支持管理决策数据仓库支持OLAP(联机分析处理)、数据挖掘和决策分析。OLAP从数据仓库中的综合数据出发,提供面向分析的多维模型,并使用多维分析的方法从多个角度、多个层次对多维数据进行分析,使决策者能够以更加自然的方式来分析数据。数据挖掘则以数据仓库和多维数据库中的数据为基础,发现数据中的潜在模式和进行预测。因此,数据仓库的功能是支持管理层进行科学决策,而不是事务处理。支持管理决策数据仓库的技术要求大量数据的组织和管理:包含了大量的历史数据,它是从数据库中提取得来的,不必关心它的数据安全性和数据完整性。复杂分析的高性能体现:涉及大量数据的聚集、综合等,在进行复杂查询时经常会使用多表的联接、累计、分类、排序等操作。对提取出来的数据进行集成:数据仓库中的数据是从多个应用领域中提取出来的,在不同的应用领域和不同的数据库系统中都有不同的结构和形式,所以如何对数据进行集成也是构建数据仓库的一个重要方面。对进行高层决策的最终用户的界面支持:提供各种分析应用工具。数据仓库的技术要求大量数据的组织和管理:包含了大量的历史数据操作数据库与数据仓库的区别操作数据库系统的主要任务是联机事务处理OLTP数据仓库在数据分析和决策方面为用户提供服务,这种系统称为联机分析处理OLAP操作数据库与数据仓库的区别操作数据库系统的主要任务是联机事务事务型处理与分析型处理事务型处理:即操作型处理,是指对数据库的联机操作处理。事务型处理是用来协助企业对响应事件或事务的日常商务活动进行处理。它是事件驱动、面向应用的,通常是对一个或一组记录的增、删、改以及简单查询等。事务型处理的应用程序和数据是紧紧围绕着所管理的事件来构造的。在事务型处理环境中,数据库要求能支持日常事务中的大量事务,用户对数据的存取操作频率高而每次操作处理的时间短。事务型处理与分析型处理事务型处理:即操作型处理,是指对数据库分析型处理分析型处理:用于管理人员的决策分析,例如DSS、EIS、和多维分析等。它帮助决策者分析数据以察看趋向、判断问题。分析型处理经常要访问大量的历史数据,支持复杂的查询。在分析型处理中,并不是对从事务型处理环境中得到的细节数据进行分析。细节数据量太大,会严重影响分析的效率,而且太多的细节数据不利于分析人员将注意力集中于有用的信息。分析型处理过程中经常用到外部数据,这部分数据不是由事务型处理系统产生的,而是来自于其他外部数据源。分析型处理分析型处理:用于管理人员的决策分析,例如DSS、事务型处理数据和分析型处理数据的区别
事务型处理数据 分析型处理数据
细节的综合的,或提炼的 在存取瞬间是准确的代表过去的数据 可更新 不可更新,只读的 操作需求事先可知道 操作需求事先不知 生命周期符合SDLC 完全不同的生命周期对性能要求高对性能要求宽松一个时刻操作一个单元 一个时刻操作一个事务驱动 分析驱动 面向应用 面向分析一次操作数据量小 一次操作数据量大 支持日常操作 支持管理需求
事务型处理数据和分析型处理数据的区别事务型处理数据 OLTP和OLAP的区别用户和系统的面向性:OLTP是面向顾客的,用于事务和查询处理OLAP是面向市场的,用于数据分析数据内容:OLTP系统管理当前数据.OLAP系统管理大量历史数据,提供汇总和聚集机制.OLTP和OLAP的区别用户和系统的面向性:数据库设计:OLTP采用实体-联系ER模型和面向应用的数据库设计.OLAP采用星型或雪花模型和面向主题的数据库设计.视图:OLTP主要关注一个企业或部门内部的当前数据,不涉及历史数据或不同组织的数据OLAP则相反.数据库设计:访问模式:OLTP系统的访问主要由短的原子事务组成.这种系统需要并行和恢复机制.OLAP系统的访问大部分是只读操作.访问模式:为什么需要分离的数据仓库分离操作数据库系统和数据仓库的主要原因是提高两个系统的性能.操作数据库系统是为已知的任务和负载设计的,而数据仓库的查询通常是复杂的,涉及大量数据在汇总级的计算,在操作数据库系统上处理OLAP查询,可能会大大降低操作任务的性能.为什么需要分离的数据仓库分离操作数据库系统和数据仓库的主要3.2多维数据模型数据仓库和OLAP工具基于多维数据模型,该模型将数据看作数据立方体形式数据立方体允许以多维对数据建模和观察.具体图形详见71页图3-13.2多维数据模型数据仓库和OLAP工具基于多维数据模型,多维数据库模式星型,雪花和事实星座模式是主要的存在形式星型模式包含一个大的包含大批数据的事实表和一系列维表.如73页图3-4雪花模式是星型模式的变种,不同的是将某些维表规范化.如74页图3-5事实星座模式对应多个事实表共享维表.如74页图3-6多维数据库模式星型,雪花和事实星座模式是主要的存在形式93星形模式例子
time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationSalesFactTable
time_key
item_key
branch_key
location_key
units_sold
dollars_sold
avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch26星形模式例子time_keytimelocatio94雪花形模式time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcity_keylocationSalesFactTable
time_key
item_key
branch_key
location_key
units_sold
dollars_sold
avg_salesMeasuresitem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity27雪花形模式time_keytimelocation_ke95事实星座形time_keydayday_of_the_weekmonthquarteryeartimelocation_keystreetcityprovince_or_statecountrylocationSalesFactTabletime_key
item_key
branch_key
location_key
units_sold
dollars_sold
avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranchShippingFactTabletime_key
item_key
shipper_key
from_location
to_location
dollars_cost
units_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper28事实星座形time_keytimelocation_ke定义模式的例子定义图3-4的星型模式:定义立方体:Definecubesales_star[time,item,branch,location]:dollars_sold=sum(sales_in_dollars),units_old=count(*)定义模式的例子定义图3-4的星型模式:定义维
Definedimensiontimeas(time_key,day,day_of_week,month,quarter,year)定义维度量的分类和计算分布的:
设数据被划分为n个集合,函数在每一部分上的计算得到一个聚集值.如果将函数用于n个聚集值得到的结果,与将函数用于所有数据得到的结果一样则该度量是分布的,如count(),sum()等度量的分类和计算分布的:代数的:
如果一个聚集函数能够由一个具有M个参数的代数函数计算,且每个参数都可以用一个分布聚集函数求得.如avg()可以由sum()/count()计算,其中sum()和count()是分布聚集函数.代数的:整体的:
如果一个聚集函数无法用具有M个参数的代数函数进行这一计算,则这个函数称是整体的,如rand()等许多度量可以用关系的聚集操作计算对应图2-4,我们也可写出SQL语句.整体的:计算dollars_sold和units_soldSelectsum(s.number_of_units_sold*s.price)Sum(s.number_of_units_sold)Fromtimet,itemi,branchb,locationl,saless,Wheres.time_key=t.time_keyands.item_key=i.item_keyands.branch_key=b.branch_keyands.loation_key=l.location_keyGroupbys.time_key,s.item_key,s.branch_key,s.location_key计算dollars_sold和units_soldSelec概念分层全序相关偏序相关
CountryyearCityquartermonthweekStreetday概念分层全序相关103概念分层allEuropeNorth_AmericaMexicoCanadaSpainGermanyVancouverM.WindL.Chan..................allregionofficecountryTorontoFrankfurtcity36概念分层allEuropeNorth_AmericaMe104仓库与概念视图SpecificationofhierarchiesSchemahierarchyday<{month<quarter;week}<yearSet_groupinghierarchy{1..10}<inexpensive37仓库与概念视图Specificationofhier105多维数据Salesvolumeasafunctionofproduct,month,andregionProductRegionMonthDimensions:Product,Location,TimeHierarchicalsummarizationpathsIndustryRegionYearCategoryCountryQuarterProductCityMonthWeekOfficeDay38多维数据Salesvolumeasafuncti106ASampleDataCubeTotalannualsalesofTVinU.S.A.DateProductCountryAll,All,Allsumsum
TVVCRPC1Qtr2Qtr3Qtr4QtrU.S.ACanadaMexicosum39ASampleDataCubeTotalannu多维数据模型的OLAP操作上卷操作,通过维规约,在数据立方体上进行聚集.下钻操作,是上卷操作的逆操作,由不太详细的数据到更详细的数据.切片和切块,切片在给定的数据立方体的一个维上进行选择,切块则是在两个或两个以上的维进行选择.转轴操作,转动数据的视觉,是目视操作.如图3-10所示多维数据模型的OLAP操作上卷操作,通过维规约,在数据立方体108图3.10典型OLAP操作41图3.10典型OLAP操作3.3数据仓库的系统结构自顶向下视图,使我们可以选择数据仓库所需的相关信息.数据源视图,揭示被操作数据库系统捕获存储和管理的信息.数据仓库视图,包括事实表和维表.商务查询视图,从最终用户的角度透视数据仓库中的数据.3.3数据仓库的系统结构自顶向下视图,使我们可以选择数据110数据仓库的设计:商业分析框架四种视图自定向下视图allowsselectionoftherelevantinformationnecessaryforthedatawarehouse数据源视图exposestheinformationbeingcaptured,stored,andmanagedbyoperationalsystems数据仓库视图consistsoffacttablesanddimensiontables商业查询视图
seestheperspectivesofdatainthewarehousefromtheviewofend-user43数据仓库的设计:商业分析框架四种视图数据仓库设计过程选取待建模的商务处理选取商务处理的粒度,例如单个事务,一天的快照等选取用于每个事实表记录的维.选取将安放在事实表中的度量如图3-4中的dollars_sold和units_sold数据仓库设计过程选取待建模的商务处理112数据仓库:多层结构DataWarehouseExtractTransformLoadRefreshOLAP引擎AnalysisQueryReportsDataminingMonitor&IntegratorMetadata数据源前端工具ServeDataMartsOperationalDBsOthersources数据存储OLAPServer45数据仓库:多层结构DataExtractOLAP引擎三层数据仓库结构底层数据仓库服务器,使用称作网间连接程序的应用程序,由操作数据库和外部数据源提取数据.中间层是OLAP服务器,实现方法有关系OLAP模型,在多维数据上的操作映射为标准的关系操作多维OLAP模型,直接实现多维数据的操作三层数据仓库结构底层数据仓库服务器,使用称作网间连接程序的应顶层是客户,它包括查询和报告工具,分析工具和数据挖掘工具(例如趋势分析,预测等)顶层是客户,它包括查询和报告工具,分析工具和数据挖掘工具(例数据仓库的类型企业仓库:企业仓库收集了关于主题的所有信息,跨越整个组织,它提供企业范围内的数据集成.数据集市:包含企业范围数据的一个子集,对于特定的用户是有用的,其范围限于选定的主题.虚拟仓库:是操作数据库上的视图集合.为了有效地处理查询,只有一些可能的汇总视图被物化,虚拟仓库易于建立,但需要操作数据库服务器具有剩余能力.数据仓库的类型企业仓库:企业仓库收集了关于主题的所有信息,跨116数据仓库开发的推荐方法Defineahigh-levelcorporatedatamodelDataMartDataMartDistributedDataMartsMulti-TierDataWarehouseEnterpriseDataWarehouseModelrefinementModelrefinement49数据仓库开发的推荐方法Defineahigh-lev117数据仓库后端工具和实用程序数据提取getdatafrommultiple,heterogeneous,andexternalsources数据清理detecterrorsinthedataandrectifythemwhenpossible数据变换convertdatafromlegacyorhostformattowarehouseformat装入sort,summarize,consolidate,computeviews,checkintegrity,andbuildindiciesandpartitions刷新propagatetheupdatesfromthedatasourcestothewarehouse50数据仓库后端工具和实用程序数据提取OLAP服务器类型关系OLAP(ROLAP)模型,使用关系或扩充关系DBMS存放并管理数据仓库多维OLAP(MOLAP)服务器,这些服务器通过基于数组的多维存储,支持数组的多维视图混合OLAP(HOLAP)服务器,结合ROLAP和MOLAP技术,得宜于ROLAP的可伸缩性,和MOLAP的快速计算.OLAP服务器类型关系OLAP(ROLAP)模型,使用关系或特殊的SQL服务器,为了满足在关系数据库中日益增长的OLAP需要,实现了特殊的SQL服
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学体育教研组学期工作总结
- 门式钢架课程设计纸
- 课程设计飞剪机构简图
- 软件测试课程设计题
- 2024至2030年电信工安全带项目投资价值分析报告
- 2024至2030年双立柱堆垛起重机项目投资价值分析报告
- 2024年男西装架项目可行性研究报告
- 2024年平板琉璃瓦项目可行性研究报告
- 2024至2030年中国激光腰线水平仪数据监测研究报告
- 2024【中国深圳对外贸易货物进口合同】深圳对外贸易
- 2023年安全工程师《安全生产技术基础》考试备考重点题库(600题版)
- 民事检察监督程序中检察机关调查取证
- 管道工程新材料与新工艺研究
- 2024年政府采购评审专家入库考试真题附含答案
- 《智能锁具设计》课件
- 电商岗位职责及关键流程发布
- 高三一轮复习-工业革命
- 2023年烟草专卖技能鉴定题库
- 土方工程施工进度计划制定
- 中控ECS-700系统简介
- 云南省情概况
评论
0/150
提交评论