《2数据仓库和数据挖掘的OLAP技术》由会员分享,可在线阅读,更多相关《2数据仓库和数据挖掘的OLAP技术(64页珍藏版)》请在金锄头文库上搜索。
1、数据仓库和数据挖掘的OLAP技术数据仓库数据挖掘的有效平台n数据仓库中的数据清理和数据集成,是数据挖掘的重要数据预处理步骤n数据仓库提供OLAP工具,可用于不同粒度的数据分析n很多数据挖掘功能都可以和OLAP操作集成,以提供不同概念层上的知识发现q分类q预测q关联q聚集什么是数据仓库?n数据仓库的定义很多,但却很难有一种严格的定义q它是一个提供决策支持功能的数据库,它与公司的操作数据库分开维护。 q为统一的历史数据分析提供坚实的平台,对信息处理提供支持n数据仓库区别于其他数据存储系统q“数据仓库是一个面向主题的、集成的、随时间而变化的、不容易丢失的数据集合,支持管理部门的决策过程.”W. H.
2、 Inmon数据仓库关键特征一面向主题n面向主题,是数据仓库显著区别于关系数据库系统的一个特征q围绕一些主题,如顾客、供应商、产品等q关注决策者的数据建模与分析,而不是集中于组织机构的日常操作和事务处理。q排除对于决策无用的数据,提供特定主题的简明视图。数据仓库关键特征二数据集成n一个数据仓库是通过集成多个异种数据源来构造的。q关系数据库,一般文件,联机事务处理记录联机事务处理记录n使用数据清理和数据集成技术。q确保命名约定、编码结构、属性度量等的一致性。q当数据被移到数据仓库时,它们要经过转化。数据仓库关键特征三随时间而变化n数据仓库是从历史的角度提供信息q数据仓库的时间范围比操作数据库系统
3、要长的多。n操作数据库系统: 主要保存当前数据。n数据仓库:从历史的角度提供信息(比如过去 5-10 年)q数据仓库中的每一个关键结构都隐式或显式地包含时间元素,而操作数据库中的关键结构可能就不包括时间元素。数据仓库关键特征四数据不易丢失n尽管数据仓库中的数据来自于操作数据库,但他们却是在物理上分离保存的。q操作数据库的更新操作不会出现在数据仓库环境下。q不需要事务处理,恢复,和并发控制等机制不需要事务处理,恢复,和并发控制等机制q只需要两种数据访问: n数据的初始转载和数据访问(读操作)数据仓库的构建与使用n数据仓库的构建包括一系列的数据预处理过程q数据清理q数据集成q数据变换n数据仓库的使
4、用热点是商业决策行为,例如:q增加客户聚焦q产品重定位q寻找获利点q客户关系管理数据仓库与异种数据库集成n异种数据库的集成方法q传统的异种数据库集成:(查询驱动查询驱动)n在多个异种数据库上建立包装程序(wrappers)和中介程序(mediators )n查询驱动方法当从客户端传过来一个查询时,首先使用元数据字典将查询转换成相应异种数据库上的查询;然后,将这些查询映射和发送到局部查询处理器q数据仓库: (更新驱动更新驱动)n将来自多个异种源的信息预先集成,并存储在数据仓库中,供直接查询和分析查询驱动方法和更新驱动方法的比较n查询驱动的方法q需要负责的信息过滤和集成处理q与局部数据源上的处理竞
5、争资源q对于频繁的查询,尤其是涉及聚集(汇总)操作的查询,开销很大(决策支持中常见的查询形式)n更新驱动的方法(带来高性能)q数据经预处理后单独存储,对聚集操作提供良好支持q不影响局部数据源上的处理q集成历史信息,支持负责的多维查询数据仓库与操作数据库系统n操作数据库系统的主要任务是联机事务处理OLTPq日常操作: 购买,库存,银行,制造,工资,注册,记帐等n数据仓库的主要任务是联机分析处理OLAPq数据分析和决策支持,支持以不同的形式显示数据以满足不同的用户需要OLAP VS. OLTP (1)n用户和系统的面向性q面向顾客(事务) VS. 面向市场(分析)n数据内容q当前的、详细的数据 V
6、S. 历史的、汇总的数据n数据库设计q实体联系模型(ER)和面向应用的数据库设计 VS. 星型/雪花模型和面向主题的数据库设计OLAP VS. OLTP (2)n数据视图q当前的、企业内部的数据 VS. 经过演化的、集成的数据n访问模式q事务操作 VS. 只读查询(但很多是复杂的查询)n任务单位q简短的事务 VS. 复杂的查询n访问数据量q数十个 VS. 数百万个OLAP VS. OLTP (3)n用户数q数千个 VS. 数百个n数据库规模q100M-数GB VS. 100GB-数TBn设计优先性q高性能、高可用性 VS. 高灵活性、端点用户自治n度量q事务吞吐量 VS. 查询吞吐量、响应时间
7、为什么需要一个分离的数据仓库?n提高两个系统的性能qDBMS是为OLTP而设计的:存储方式,索引, 并发控制, 恢复q数据仓库是为OLAP而设计:复杂的 OLAP查询, 多维视图,汇总n不同的功能和不同的数据:q历史数据: 决策支持需要历史数据,而这些数据在操作数据库中一般不会去维护q数据汇总:决策支持需要将来自异种源的数据统一(如聚集和汇总)q数据质量: 不同的源使用不一致的数据表示、编码和格式,对这些数据进行有效的分析需要将他们转化后进行集成多维数据模型 (1)n数据仓库和OLAP工具基于多维数据模型n在多维数据模型中,数据以数据立方体(data cube)的形式存在q数据立方体数据立方体
8、允许以多维数据建模和观察。它由维维和事事实实定义n维维是关于一个组织想要记录的视角或观点。每个维都有一个表与之相关联,称为维表维表。q多维数据模型围绕中心主题组织,该主题用事实表事实表表示n事实表事实表包括事实的名称或度量以及每个相关维表的关键字n事实事实指的是一些数字度量多维数据模型 (2) 示例 time_keydayday_of_the_weekmonthquarteryeartime 维表location_keystreetcitystate_or_provincecountrylocation 事实表Sales 事实表 time_key item_key branch_key loc
9、ation_key units_sold dollars_sold avg_sales度量item_keyitem_namebrandtypesupplier_typeitem 维表branch_keybranch_namebranch_typebranch 维表多维数据模型 (3)n在数据仓库中,数据立方体是n-D的(n维)q(关系表和电子表格是几维的?)n示例qAllElectronics的销售数据按维time, item的2-D视图 (P30, 表2-2)qAllElectronics的销售数据按维time, item和location的3-D视图 (P30, 表2-3)qAllElec
10、tronics的销售数据按维time, item和location的3-D视图的3-D数据立方体表示 (P31, 图2-1)q销售数据的4-D立方体表示 (P31, 图2-2)n多维数据模型为不同角度上的数据建模和观察提供了多维数据模型为不同角度上的数据建模和观察提供了一个良好的基础一个良好的基础多维数据模型 (4)n在数据仓库的研究文献中,一个n维的数据的立方体叫做基本方体基本方体。给定一个维的集合,我们可以构造一个方体的格方体的格,每个都在不同的汇总级或不同的数据子集显示数据,方体的格称为数据立方体数据立方体。0维方体存放最高层的汇总,称作顶点方体顶点方体;而存放最底层汇总的方体则称为基基
11、本方体本方体。数据立方体一个方体的格alltimeitemlocationsuppliertime,itemtime,locationtime,supplieritem,locationitem,supplierlocation,suppliertime,item,locationtime,item,suppliertime,location,supplieritem,location,suppliertime, item, location, supplier0-D(顶点) 方体1-D方体2-D 方体3-D 方体4-D(基本) 方体数据仓库的概念模型n最流行的数据仓库概念模型是多维数据模型。
12、这种模型可以以星型模式、雪花模式、或事实星座模式的形式存在。q星型模式(Star schema): 事实表在中心,周围围绕地连接着维表(每维一个),事实表含有大量数据,没有冗余。q雪花模式(Snowflake schema): 是星型模式的变种,其中某些维表是规范化的,因而把数据进一步分解到附加表中。结果,模式图形成类似于雪花的形状。q事实星座(Fact constellations): 多个事实表共享维表, 这种模式可以看作星型模式集,因此称为星系模式(galaxy schema),或者事实星座(fact constellation) 星型模式实例 time_keydayday_of_the
13、_weekmonthquarteryeartimelocation_keystreetcitystate_or_provincecountrylocationSales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_keyitem_namebrandtypesupplier_typeitembranch_keybranch_namebranch_typebranch雪花模式实例time_keydayday_of_the_weekmonthqua
14、rteryeartimelocation_keystreetcity_keylocationSales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_salesMeasuresitem_keyitem_namebrandtypesupplier_keyitembranch_keybranch_namebranch_typebranchsupplier_keysupplier_typesuppliercity_keycitystate_or_provincecountrycity事
15、实星座模式实例time_keydayday_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
16、 Tabletime_key item_key shipper_key from_location to_location dollars_cost units_shippedshipper_keyshipper_namelocation_keyshipper_typeshipper一种数据挖掘查询语言: DMQLnDMQL首先包括定义数据仓库和数据集市的语言原语,这包括两种原语定义:一种是立方体定义,一种是维定义q立方体定义 (事实表)define cube : q维定义 (维表)define dimension as ()q特殊案例 (共享维表的定义)n第一次作为维表定义 “cube de
17、finition”n然后:define dimension as in cube 实例:使用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 a
18、s (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)实例:使用DMQL定义雪花模式define cube sales_snowflake time, item, branch, location:dollars_sold = sum(sales_in
19、_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_t
20、ype)define dimension location as (location_key, street, city(city_key, province_or_state, country)实例:使用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
21、_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, fro
22、m_location, to_location:dollar_cost = sum(cost_in_dollars), unit_shipped = count(*)define dimension time as time in cube salesdefine dimension item as item in cube salesdefine dimension shipper as (shipper_key, shipper_name, location as location in cube sales, shipper_type)define dimension from_loca
23、tion as location in cube salesdefine dimension to_location as location in cube sales度量的分类n一个数据立方体的度量是一个数值数值函数,该函数可以对数据立方体的每一个点求值。q(刚才的示例中用的是什么函数?)n度量可以根据其所用的聚集函数分为三类:q分布的(distributive):将函数用于n个聚集值得到的结果和将函数用于所有数据得到的结果一样。n比如:count(),sum(),min(),max()等q代数的(algebraic):函数可以由一个带M个参数的代数函数计算(M为有界整数),而每个参数值都可
24、以有一个分布的聚集函数求得。n比如:avg(),min_N(),standard_deviation()q整体的(holistic):描述函数的子聚集所需的存储没有一个常数界。n比如:median(),mode(),rank()5-6王王 灿灿数据挖掘数据挖掘0703004概念分层 (1)n一个概念分层(concept hierarchy)定义一个映射序列,将低层概念映射到更一般的高层概念qE.g. 表示location的概念:杭州浙江中国亚洲q概念分层允许我们在各种抽象级审查和处理数据n概念分层可以由系统用户、领域专家、知识工程师人工的提供,也可以根据数据分布的统计分析自动的产生概念分层 (
25、2): location维的一个概念分层allEuropeNorth_AmericaMexicoCanadaSpainGermanyVancouverM. WindL. Chan.allregionofficecountryTorontoFrankfurtcity许多概念分层的定义隐含在数据库的模式中。比如:location维的定义,officecitycountryregion;这些属性 按一个全序相关,形成一个层次结构:yeardayquartermonthweek维的属性也可以组成一个偏序,形成一个格:概念分层 (3) 使用n概念分层为不同级别上的数据汇总提供了一个良好的基础n综合概念分
26、层和多维数据模型的潜力,可以对数据获得更深入的洞察力q通过在多维数据模型中,在不同的维上定义概念分层,使得用户在不同的维上从不同的层次对数据进行观察成为可能。n多维数据模型(数据立方体)使得从不同的角度对数多维数据模型(数据立方体)使得从不同的角度对数据进行观察成为可能,而概念分层则提供了从不同层据进行观察成为可能,而概念分层则提供了从不同层次对数据进行观察的能力;结合这两者的特征,我们次对数据进行观察的能力;结合这两者的特征,我们可以在多维数据模型上定义各种可以在多维数据模型上定义各种OLAP操作,为用户操作,为用户从不同角度不同层次观察数据提供了灵活性:从不同角度不同层次观察数据提供了灵活
27、性:多维数据模型上的OLAP操作 (1)n上卷(roll-up):汇总数据q通过一个维的概念分层向上攀升或者通过维规约q当用维归约进行上卷时,一个或多个维由给定的数据立方体删除n下钻(drill-down):上卷的逆操作q由不太详细的数据到更详细的数据,可以通过沿维的概念分层向下或引入新的维来实现 (为给定数据添加更多细节)n切片和切块(slice and dice)q切片操作在给定的数据立方体的一个维上进行选择,导致一个子方q切块操作通过对两个或多个维进行选择,定义子方多维数据模型上的OLAP操作 (2)n转轴(pivot)q立方体的重定位,可视化,或将一个3维立方体转化为一个2维平面序列q
28、转轴是一种可视化可视化操作,通过转动当前数据的视图来提供一个数据的替代表示n其他OLAP操作q钻过(drill_across):执行涉及多个事实表的查询q钻透(drill_through):使用关系SQL机制,钻到数据立方体的底层,到后端关系表q其他OLAP操作可能包括列出表中最高或最低的N项,以及计算移动平均值、增长率、利润、统计函数等等数据仓库设计:一个商务分析框架 (1)n数据仓库给商业分析专家提供了什么?q通过提供相关数据与信息,获得竞争优势q通过有效的收集精确的描述组织的数据,获得生产力的提高q通过提供不同级别(部门、市场、商业)的客户视图,协助客户关系管理q通过追踪长期趋势、异常等
29、,降低成本n有效构建数据仓库的关键:理解和分析商业需求q通过提供一个商业分析框架,综合各种不同的数据使用者的通过提供一个商业分析框架,综合各种不同的数据使用者的视图视图数据仓库设计:一个商务分析框架 (2)n数据仓库设计的四种视图q自顶向下视图n允许我们选择数据仓库所需的相关信息q数据源视图n揭示被操作数据库系统所捕获、存储和管理的信息q数据仓库视图n由事实表和维表所组成q商务查询视图n从最终用户的角度透视数据仓库中的数据数据仓库设计:一个商务分析框架 (3)n数据仓库的构建与使用涉及多种技能q商业技能n理解系统如何存储和管理数据n数据如何提取n数据如何刷新q技术方面的技能n如何通过使用各种数
30、据或量化的信息,到处可以提供决策支持的模式、趋势、判断等n如何通过审查历史数据,分析发展趋势等q计划管理技能n如何通过与不同的技术、厂商、用户交互,来及时、有效、经济的提交结果数据仓库的设计过程 (1)n自顶向下法、自底向上法或者两者的混合方法q自顶向下法:由总体设计和规划开始n在技术成熟、商业理解透彻的情况下使用q自底向上法:以实验和原型开始n常用在模型和技术开发的初期,可以有效的对使用的技术和模型进行评估,降低风险q混合方法:上述两者的结合n从软件过程的观点q瀑布式方法:在进行下一步前,每一步都进行结构化和系统的分析q螺旋式方法:功能渐增的系统的快速产生,相继版本之间间隔很短数据仓库的设计
31、过程 (2)n典型的数据仓库设计过程q选取待建模的商务过程商务过程n找到所构建的数据仓库的主题,比如:销售、货运、订单等等q选取商务过程的颗粒度颗粒度n数据起始于多细的颗粒度,比如:记录每条详细订单,或是开始于每日的汇总数据q选取用于每个事实表记录的维维n常用的维有:时间、货物、客户、供应商等q选取将安放在事实表中的度量度量n常用的数字度量包括:售价、货物数量等三层数据仓库架构 (1)数据仓库提取清理转换装入刷新OLAP服务器查询报告分析数据挖掘监控、整合元数据存储数据源前端工具输出数据集市操作数据库其他外部信息源数据仓库服务器OLAP服务器三层数据仓库架构 (2)n底层:数据仓库的数据库服务
32、器q关注的问题:如何从这一层提取数据来构建数据仓库(通过Gateway(ODBC,JDBC,OLE/DB等)来提取)n中间层:OLAP服务器q关注的问题:OLAP服务器如何实施(关系型OLAP,多维OLAP等)n前端客户工具层q关注的问题:查询工具、报表工具、分析工具、挖掘工具等三种数据仓库模型n从体系结构的角度去看,数据仓库模型可以有以下三种:q企业仓库n搜集关于跨越整个组织的主题的所有信息q数据集市n企业范围数据的一个子集,对于特定的客户是有用的。其范围限于选定的主题,比如一个商场的数据集市q独立的数据集市 VS. 非独立的数据集市(数据来自于企业数据仓库)q虚拟仓库n操作数据库上的一系列
33、视图n只有一些可能的汇总视图被物化数据仓库开发:困难与方法n数据仓库开发上的困难q自顶向下的开发方法从全系统的角度提供解决方案,使得(模块)集成的问题最小;但是该方法十分昂贵,需要对组织进行长期研究和建模分析。q自底向上方法提供了更多的开发灵活性,价格便宜;但往往会遇到集成问题(每个模块单独运行都没有问题,但是一集成就出异常)n解决方法:q使用递增性、演化性的开发方法q高层数据模型企业仓库和数据集市并行开发通过分布式模型集成各数据集市多层数据仓库数据仓库开发一个推荐的方法定义高层数据模型定义高层数据模型数据数据集市集市数据数据集市集市分布式数据分布式数据集市集市多层数据仓库多层数据仓库企业数据
34、仓库企业数据仓库模型提炼模型提炼模型提炼模型提炼OLAP服务器类型 (1)n逻辑上,OLAP服务器从数据仓库或数据集市中给商业用户提供多维数据n物理上,OLAP的底层数据存储实现可以有多种不同的方式q关系OLAP服务器(ROLAP)n使用关系数据库或扩展的关系数据库存放并管理数据仓库的数据,而用OLAP中间件支持其余部分n包括每个DBMS后端优化,聚集导航逻辑的实现,附加的工具和服务n较大的可扩展性OLAP服务器类型 (2)q多维OLAP服务器(MOLAP)n基于数组的多维存储引擎(稀疏矩阵技术)n能对预计算的汇总数据快速索引能对预计算的汇总数据快速索引q混合OLAP服务器(HOLAP)n结合
35、上述两种技术,更大的使用灵活性q特殊的SQL服务器n在星型和雪花模型上支持SQL查询数据仓库的实现数据立方体的有效计算n数据仓库中的OLAP查询是一种海量数据计算 (想象一下对过去10年各地区的软件产品销售的汇总查询)q用户却希望这个计算能在数秒钟内完成q解决方法在于给出一种有效的计算数据立方体的方法n数据立方体可以被看成是一个方体的格方体的格q最底层的方体是基本方体q最顶端的方体(顶点)只包含一个单元的值q一个n维的数据立方体,每维L层,可能产生的方体总数是多少?(item)(city)()(year)(city, item)(city, year)(item, year)(city, it
36、em, year)方体的操作nDMQL中的方体定义和计算qdefine cube salesitem, city, year: sum(sales_in_dollars)qcompute cube salesn上述的compute cube子句可以转化为一个类似于SQL的语句qSELECT item, city, year, SUM (amount)qFROM SALESqCUBE BY item, city, yearn这个相当于SQL中以下的group by子句q(item, city, year) 3Dq(item, city), (item year), (city, year) 2D
37、q(item), (city), (year) 1Dq() -0D(item)(city)()(year)(city, item)(city, year)(item, year)(city, item, year)数据立方体的物化n数据立方体的物化物化可以有以下三种选择:q全物化n预先计算所有方体q不物化n不预先计算任何“非基本”方体q部分物化部分物化n有选择的计算一个所有方体的适当子集有选择的计算一个所有方体的适当子集n考虑因素考虑因素:(1)确定要物化的方体;确定要物化的方体;(2)在查询时利用物化的方在查询时利用物化的方体;体;(3)在装载和刷新时,有效的更新物化的方体在装载和刷新时,有
38、效的更新物化的方体n确定物化哪些方体q考虑工作负荷下的查询、它们的频率和它们的开销等等方体计算:ROLAP vs. MOLAPn方体计算的挑战:海量数据,有限的内存和时间海量数据,有限的内存和时间n基于ROLAP的方法(底层使用关系模型存储数据)q将排序、散列(hashing)和分组操作应用于维的属性,以便对相关元组重新排序和聚类q在某些子聚集上分组,作为“部分分组步骤”。q可以由以前计算的聚集计算新的聚集,而不必有基本事实表计算n基于MOLAP方法(底层使用多维数组存储数据)q多路数组聚集的计算方法多路数组聚集的计算方法n将数组切成块(每个块都可以整个装入内存)n通过访问各个块来计算汇总值方
39、体计算的多路数组聚集方法(1)n将数组分成块(chunk,一个可以装入内存的小子方)n通过访问立方体单元,计算聚集。可以优化访问单元组的次序,使得每个单元被访问的次数最小化,从而减少内存访问和磁盘I/O的开销。A(month) 40个值个值B29303132123459131415166463626148474645a1a0c3c2c1c 0b3b2b1b0a2a3C(item) 4000个值个值B(city) 400个值个值442856402452362060哪个是多路数组哪个是多路数组聚集的最佳遍历聚集的最佳遍历次序?次序?方体计算的多路数组聚集方法(2)A(month)40B293031
40、32123459131415166463626148474645a1a0c3c2c1c 0b3b2b1b0a2a3C(item)4000442856402452362060B(city)400方体计算的多路数组聚集方法(3)AB29303132123459131415166463626148474645a1a0c3c2c1c 0b3b2b1b0a2a3C442856402452362060B方体计算的多路数组聚集方法(4)n方法:各平面要按他们大小的升序排列进行排序和计算q详见书P50 例2.12 (P52 图图2-16有误有误)q思想:将最小的平面放在内存中,对最大的平面每次只是取并计算一块
41、方体计算的多路数组聚集方法(5)n根据1到64的扫描次序,在块内存中保存所有相关的2-D平面所需的最小存储为:q40400(用于整个AB平面)401000(用于AC平面一行)1001000(用于BC平面一块)156,000n这种方法的限制:只有在维数比较小的情况下,效果才比较理想(要计算的立方体随维数指数增长)q如果维的数目比较多,可以考虑使用“自底向上的计算”或者时“冰山方体” 计算OLAP查询的有效处理n确定哪些操作应当在可利用的方体上执行:q将查询中的选择、投影、上卷和下钻等操作转化为对应的SQL或/和OLAP操作,如:dice = selection + projectionn确定相关
42、操作应当使用哪些物化的方体q找寻MOLAP中可以利用的索引结构以及压缩的或是稠密的数组结构有效处理OLAP查询(示例)立方体的定义为:salestime,item,location: sum(sales_in_dollar)time的维层次 dayweekmonthquateryearlocation的维层次 streetcityprovince_or_statecountryitem的维层次 item_namebrandtype现在要处理一个year2000,定位在brand和province_or_state级别的查询,现有四个可用的已经物化的方体:item_name, city, yea
43、rbrand, country, yearbrand, province_or_state, yearitem_name, province_or_state其中year2000Question:以上四个方体,选那个来处理查询?以上四个方体,选那个来处理查询? (要考虑计算的量,要考虑计算的量,以及可以使用的索引等因素)以及可以使用的索引等因素)元数据存储n在数据仓库中,元数据就是定义数据仓库对象的数据。有以下几种:q数据仓库结构的描述n仓库模式、视图、维、层次结构、导出数据的定义,以及数据集市的位置和内容q操作元数据n包括数据血统(data lineage)、数据类别(currency of
44、 data),以及监视信息q汇总用的算法q由操作环境到数据仓库的映射q关于系统性能的数据n索引,profiles,数据刷新、更新或复制事件的调度和定时q商务元数据n商务术语和定义、数据拥有者信息、收费政策等元数据的使用n元数据与数据一起,构成了数据仓库中的数据模型,元数据所描述的更多的是这个模型的结构方面的信息。n在数据仓库中,元数据的主要用途包括:q用作目录,帮助决策支持系统分析者对数据仓库的内容定义q作为数据仓库和操作性数据库之间进行数据转换时的映射标准q用于指导当前细节数据和稍加综合的数据之间的汇总算法,指导稍加综合的数据和高度综合的数据之间的汇总算法。数据仓库后端工具和程序n数据仓库后
45、端工具主要指的是用来装入和刷新数据的工具,包括:q数据提取:n从多个外部的异构数据源收集数据q数据清理n检测数据种的错误并作可能的订正q数据变换n将数据由历史或主机的格式转化为数据仓库的格式q装载n排序、汇总、合并、计算视图,检查完整性,并建立索引和分区q刷新n将数据源的更新传播到数据仓库中数据仓库的应用n数据仓库的三种应用q信息处理n支持查询和基本的统计分析,并使用交叉表、表、图标和图进行报表处理q分析处理n对数据仓库中的数据进行多维数据分析n支持基本的OLAP操作,切块、切片、上卷、下钻、转轴等q数据挖掘数据挖掘n从隐藏模式中发现知识n支持关联分析,构建分析性模型,分类和预测,并用可视化工
46、具呈现挖掘的结果n三种应用间的差别从联机分析处理到联机分析挖掘n为什么要联机分析挖掘q数据仓库中有高质量的数据n数据仓库中存放着整合的、一致的、清理过的数据q围绕数据仓库的信息处理结构n存取、集成、合并多个异种数据库的转换,ODBC/OLEDB连接,Web访问和访问工具等q基于OLAP的探测式数据分析n使用上卷、下钻、切片、转轴等技术进行数据挖掘q数据挖掘功能的联机选择n多种数据挖掘功能、算法和任务的整合联机分析挖掘的体系结构数据仓库数据仓库元数据元数据多维数多维数据库据库OLAM引擎引擎OLAP引擎引擎用户图形界面用户图形界面 API数据方体数据方体 API数据库数据库 API数据清理数据清理数据集成数据集成第三层第三层OLAP/OLAM第二层第二层多维数据库多维数据库第一层第一层数据存储数据存储第四层第四层用户界面用户界面数据的过滤、集成数据的过滤、集成过滤过滤数据库数据库基于约束的基于约束的数据挖掘数据挖掘挖掘结果挖掘结果