数据仓库中的元数据•元数据:关于数据的数据;描述数据结构、内容、码、索引等信息。元数据的重要性元数据的内容元数据的重要性•管理人员做分析时,往往先从元数据入手。例如:从元数据中查广义索引,再进一步搜索•支持数据转换:DB环境的数据DW环境的数据元数据描述“转换”;元数据本身具有良好的灵活性,适应变化。例如:不同时期,数据结构是变化的•支持对数据仓库中数据的理解例如:结构、粒度层次、分片策略、索引等元数据的分类•技术元数据是数据仓库的设计和管理人员用于开发和日常管理数据仓库是用的数据。包括:数据源信息;数据转换的描述;数据仓库内对象和数据结构的定义;数据清理和数据更新时用的规则;源数据到目的数据的映射;用户访问权限,数据备份历史记录,数据导入历史记录,信息发布历史记录等。•商业元数据从商业业务的角度描述了数据仓库中的数据。包括:业务主题的描述,包含的数据、查询、报表;[业务的关注点,比如销售量,客户购买情况]维度建模方法维度建模维度建模的相关概念维度建模的基本步骤多维数据模型•直观的表示现实中的复杂关系•基本组成维度量(变量、指标)立方体Example:计算每一个商场,每一产品销售额产品、商场交叉表联机分析(OLAP)维度模型多维数据模型的组成•维(Dimension)维层次路径、维层次、维成员(维实例)、维层次属性•事实(Fact)度量(Measure)•数据立方体(Cube)维•维:对数据进行分类的一种结构,以用于从特定的角度观察数据。(例如:时间、地区、产品)•维的两个用途选择针对期望详细程度的层次的数据分组对细节数据综合(聚集)到相应的详细程度的数据层次维•维的组织方式:维层次路径(HIERARCHY)•维层次路径由代表不同详细程度的维层次(Level)组成。•维的层次:特定角度的不同细节程度维层级•层级是维度属性组内属性之间的两级或多级结构。高一级的属性(组)构成的维度完全包含低一级的一个或多个属性(组)构成的维度。CountryStateCountyCity事实(度量)•度量(指标):数据的实际意义,一般是一个数值度量指标例如:销售量、销售额,……•而具体数据(如“10000”)是变量的一个值•事实:存储一个多维数据表达期望分析的主题(目的、感兴趣的事情、事件或者指标等)具有一定的粒度,粒度的大小与维层次相关一个事实中通常包含一个或者多个度量•一个度量的两个组件数字型指标聚集函数立方体(CUBE)•按照一定维层次结构和度量(事实)的逻辑上的组织•其逻辑上相当于一个多维数组多维数组•多维数组:一个多维数组表示为:(维1,维2,...,维n,变量)例如:(时间、地区、销售渠道、销售额)可扩展维数:如(时间、地区、销售渠道、商品类型、销售额)数据单元(Cell)•数据单元(单元格):多维数组的取值可表示为:(维1维成员,维2维成员,...,维n维成员,变量的值)例如:(1997年1月,北京,批发,10000)多维分析•多维的切片(slice)从多维数组选定一个二维子集,切出一个“平面”•多维的切块(dice)从多维数组选定一个三维子集,切出一个“立方体”切片切片和切块多维分析2002年2003年1季度2季度3季度4季度1季度2季度3季度4季度北京市123564566134562355上海市13410398871021399782天津市6773599673696294•旋转改变一个报告(或页面)显示的维方向•旋转北京市上海市天津市2002年1季度123134672季度56103733季度4598594季度6687962003年1季度134102732季度56139693季度2397624季度558294•钻取根据维层次,改变数据的粒度“上卷”(roll_up)是指沿某一个维的概念分层向上归约;“下钻”(drill_down)是上卷的逆向操作,它是沿某一个维的概念分层向下或引入新的维来实现;•其它OLAP操作“钻过”(DrillAcross)是指对多个事实表进行查询;“钻透”(DrillThrough)是指对立方体操作时,利用数据库关系,钻透立方体的底层,进入后端的关系表。OLAP的其它操作还有统计表中最高值和最低值的项数,计算平均值、增长率、利润、投资回报率等统计计算。多维数据模型的实现•RelationalOLAP(ROLAP)(关系数据库)利用关系数据库来存储和管理基本数据和聚合数据,并利用一些中间件来支持缺失数据的处理,具有良好的可扩展性•MultidimensionalOLAP(MOLAP)利用多维数据库来存放和管理基本数据和聚合数据,其中需要对稀疏矩阵处理技术对预综合的数据进行快速索引•HybridOLAP(HOLAP)利用关系数据库来存储和管理基本数据,利用多维数据库来存储和管理聚合数据。多维数据的组织存放(细节数据)关系数据库中的数据组织多维数据库中的数据组织MDB方法的优点(细节数据)•清晰简明,占用存储少•性能好,尤其像“冰箱销售总量是多少?”的查询RDB方法:找出有关“冰箱”的记录,再对销售MDB方法:找到有关“冰箱”的行,按行求和多维数据的组织存放(综合数据)RDB中数据组织MDB中数据组织MDB方法的优点(综合数据)•多维概念表达清晰,占用存储少•对数据进行综合的速度快(只需按行/列累加)•在RDB中,“总和”作为某个域上的取值(属性•值)与列定义语义不符用关系结构表示多维数据•关系数据库使用广泛,相当成熟•用二维表表达多维概念用两类表来表示多维结构:事实表,维表•事实(fact)表用来存储变量值和各维的码值•维表用来存储维的描述信息(元数据),包括层次和类等维度模型•一种非规范化的关系模型由一组属性构成的表所组成表与表之间的关系通过关键字和外键来定义•以良好的可理解性和方便的产生报表来进行组织,很少考虑修改的性能•通过MDX或相关的工具实现数据的查询和维护E-R模型和维度模型ER模型维模型数据组织一张表代表一个实体数据组织以事实表为核心要求目标最少的数据冗余最大的可理解性优化策略面向Update操作进行优化面向检索进行优化面向系统面向事务处理的模型面向数据仓库的模型星形模型ProductTableProduct_idProduct_disc,...TimeTableDay_idMonth_idYear_id,...SalesFactTableProduct_idStore_idItem_idDay_idSales_amountSales_units,...ItemTableItem_idItem_desc,...StoreTableStore_idDistrict_id,...CentralfacttableDenormalizeddimensionsFactTable•每一个事实表通常包含了处理所关心的一系列的度量值•每一个事实表的行包括具有可加性的数值型的度量值与维表相连接的外键事实表(facttable)YearProductTypeSalesRegionMarketingCampaignBuyer'sAgeTotalSales2003MythicWorldNortheastHistoryMagSpringAd0–2556,3422003MythicWorldNortheastHistoryMagSpringAd25–35104,5472003MythicWorldNortheastHistoryMagSpringAd35–45234,3852003MythicWorldNortheastHistoryMagSpringAd45–55534,5322003MythicWorldNortheastHistoryMagSpringAd55–65829,2822003MythicWorldNortheastHistoryMagSpringAd65+284,540事实表讨论假设,以上案例中marketingcampaign维有8个成员,year维度有6个成员,producttype维度有4个成员,salesregion维有4个成员,buyer‘sage维有6个成员,事实表中的记录数可达到:8×6×4×4×6or4608rowsintheSalesFacttable.度量组(measuregroup)•事实表的特征非常大列数较少经常发生(数据追加)变化•事实表的使用各类度量值的聚集计算DimensionTable•每一张维表对应现实世界中的一个对象或者概念例如:客户、产品、日期、地区•维表的特征包含了众多描述性的列通常情况下,跟事实表相比,行数相对较少内容相对固定•维表的应用基于维属性的过滤(切片、切块等)基于维属性的个中聚集操作(上卷、下钻)报表中各类标签的主要来源事实表通过维表进行应用SnowflakeSchemaModelTimeTableWeek_idPeriod_idYear_idDeptTableDept_idDept_descMgr_idMgrTableDept_idMgr_idMgr_nameProductTableProduct_idProduct_descItemTableItem_idItem_descDept_idSalesFactTableItem_idStore_idProduct_idWeek_idSales_amountSales_unitsStoreTableStore_idStore_descDistrict_idDistrictTableDistrict_idDistrict_desc慢变维(SCD)•相对与事实表,维表的内容稳定新的事务或交易不断产生新产品的加入却相对较少新商场的开张更少•有些维度内容尽管变化相当缓慢,但维度属性可能随着时间发生变化客户地址发生变化商场根据地域进行分组,或者由于企业重组,地域的划分也随之改变数据仓库的生成(Extract)数据的抽取(Transform)数据的转换(Clean)数据的清洗(Load)数据的装载数据抽取、转换和加载(ETL)•“Effectivedataextract,transformandload(ETL)processesrepresentthenumberonesuccessfactorforyourdatawarehouseprojectandcanabsorbupto70percentofthetimespentonatypicaldatawarehousingproject.”•—DMReview,March2001SourceTargetStagingArea抽取、转换和加载(ETL)过程–抽取源数据–转换/清除数据–索引和相加–加载数据到数据仓库–检测修改–更新数据OperationalsystemsETLDataWarehouseProgramsToolsGatewaysETL:任务、重要性和费用Operationalsystems相关性实用性可靠性准确性操作性DataWarehouseETL抽取清洗整合重构装载维持更新Warehousedatabase抽取数据–Sourcesystems•Datafromvariousdatasourcesinvariousformats–ExtractionRoutines•Developedtoselectdatafieldsfromsources•Consistofbusinessrules,audittrails,errorcorrectionfacilitiesDatamappingTransformOperationaldatabasesDatastagingarea检查源数据–产生–归档的–内部的–外部的抽取技术–Programs:C,C++,COBOL,PL/SQL,Java–Gateways:transparentdatabaseaccess–Tools:•In-housedevelopedtools•Ve