您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 09DimensionalModeling3.
多维建模DimensionalModelingSoftwareInstitute,NanjingUniversityBeiJia2多维建模1.多维建模初步2.多维建模案例一,零售营销3.多维建模案例二,库存管理4.多维建模案例三,订单管理5.多维建模案例四,客户关系管理3订单管理(1/2)内容订单事务方案事实表规范化方面的考虑维度设计策略日期维度的角色模仿维度表的多属性体系结构杂项维度4订单管理(2/2)事实表设计策略多种货币与计量单位不同粒度层次上度量值的分配考虑赢利与亏损事实的票据处理事务方案订单处理流水线的累积快照方案三种不同类型事实表的比较数据仓库中的实时分区5订单管理的引入(1/3)订单管理所关注的业务处理流程报价,生成订单,安排生产计划,组织货物的装运发送,票据处理所关注的分析对象数量:订购,生产,装运……收入:订购额,贴现额,净订购额……6订单管理的引入(2/3)数据仓库的总线矩阵子集(订单管理)日期产品顾客让利营销代表发货货主报价×××××订单×××××装运×××××××发票×××××××7订单管理的引入(3/3)最基本的订单事务事实表为订单的每个订单分列项建立一个记录行(元组)所包含的度量值有订购量订单增值总额订单贴现金额订单增值余额(订单增值总额-贴现)……订单事务事实表8订单事务事实订单日期关键字(FK)请求装货日期关键字(FK)产品关键字(FK)收货顾客关键字(FK)营销代表关键字(FK)交易关键字(FK)订单编号(DD)订单分列项编号(DD)订购量总订购额订购交易贴现金额净订购额订单日期维度订单日期关键字(PK)订单日期订单日期星期订单日期月……及其他收货顾客维度营销代表维度交易维度请求装运日期维度请求装运日期关键字(PK)请求装运日期请求装运日期星期请求装运日期月……及其他产品维度9事实表的规范化考虑(1/5)事实表的规范化将一张事实表中的多个度量值分解组装成多个事实表事实表规范化的目的在对事实表进行规范后,可以连同标识事实类型维度一起得到单一的一般性事实量规范化的时机事实行的事实设置比较稀疏不在事实之间施加运算10事实表的规范化考虑(2/5)方案A(反规范化):假设有一个由10个外关键字属性,5个度量值属性以及100万行元组所构成的事实表方案B(规范化):将上述的一张事实表分解为只记录单个度量值的5张事实表11事实表的规范化考虑(3/5)方案A方案B结构复杂性1张表,15个属性5张表,55个属性数据量1500万个属性值最多5500万个属性值数据访问可以直接在SQL语句中进行数学计算,以获得新的度量值首先需要执行表的联接操作,然后才能进行数学计算。而联接操作需要更多的时间开销12事实表的规范化考虑(4/5)一般不考虑事实表的规范化。除非不同度量值的计算处于不同的粒度层次上,那么则需要将它们分解到不同的事实表中去如果可以将“粗”粒度的度量值分配到“细”的粒度层次上,那么则可以在尽量细的粒度层次上通过统一粒度层次来建立一张统一的事实表事实表中的粒度层次越“细”,则可以提供的分析操作就越多13事实表的规范化考虑(5/5)粒度无法统一的案例:订单的折扣购买总金额×订单折扣=实际购买金额这是针对订单事实的度量值,我们不能将其细化到订单分列项事实上虽然不影响整个订单的购买金额的计算,但是:会影响到沿着商品维度(或其它订单分列项元组中的维度属性)的分析操作14维度设计策略基于数据仓库总线的设计思想,订单管理维度模型可以与前述的其它维度模型共享一组公共的维度表,如:日期维,产品维,顾客维,……针对订单管理的特殊性,在维度表的设计过程中还需要考虑下列问题维度的角色模仿维度表的多属性体系结构杂项维度15日期维度的角色模仿(1/3)在基于多事务的订单管理事实表中,存在着若干个日期类型的外关键字每一个日期外关键字都对应着订单处理过程中的某一个业务处理步骤,如:订单的创建日期,产品加工日期,成品入库日期,请求装运日期,计划装运日期,实际装运日期,到货日期,发票日期,……实现方式为每个日期类型的外关键字建立一个独立的日期维表所有日期类型的外关键字共享同一个物理的日期维表16日期维度的角色模仿(2/3)单个维度同时在同一个事实表出现几次建立多组合的维度订单日期×装货日期(365×365)角色模仿日期维度的角色模仿后台只维持一个单一的日期维度表为事实表中的每一个日期外关键字建立一个日期维表上的视图优点:降低存储空间开销,方便使用17日期维度的角色模仿(3/3)例如:CreateviewORDER_DATE(ORDER_DATE_KEY,ORDER_DAY_OF_WEEK,ORDER_MONTH,…)AsselectDATE_KEY,DAY_OF_WEEK,MONTH,……fromDATECreateviewREQ_SHIP_DATE(REQ_SHIP_DATE_KEY,REQ_SHIP_DAY_OF_WEEK,REQ_SHIP_MONTH,…)AsselectDATE_KEY,DAY_OF_WEEK,MONTH,……fromDATE日期维度在单个事实表中承担不同角色(Role-playing)18维度表的属性体系结构(1/2)在一个维度表中,通常存在着若干组用于描述维度表中的元组在不同方面的描述属性在许多非体系属性之外,存在一个或而多个属性体系结构。例如:商品维子类描述,分类描述,部门描述包装类型描述,包装尺寸含脂量描述,食物类型描述重量,重量单位,储藏类型描述货架期限描述,货架宽、高、深……19维度表的属性体系结构(2/2)星形模型雪花模型浏览性能存储空间在雪花/雪暴模型中,能够通过子维度作为公共维度连接多个多维模型的,应充分考虑维度的规范化。收货顾客维度(1/4)20订单事务事实订单日期关键字(FK)请求装货日期关键字(FK)产品关键字(FK)收货顾客关键字(FK)营销代表关键字(FK)交易关键字(FK)订单编号(DD)订单分列项编号(DD)订购量总订购额订购交易贴现金额净订购额收货顾客维度收货顾客关键字(PK)收货顾客ID(自然关键字)收货顾客姓名收货顾客地址收货顾客城市收货顾客州收货顾客邮编+4收货顾客邮编收货顾客邮编地区收货顾客邮编分段中心收票顾客姓名收票顾客地址属性……顾客机构名称顾客母公司名称客户信贷分类指定的营销代表姓名指定的营销代表组名称指定的销售政区指定的销售地区订单日期维度请求装货日期维度产品维度营销代表维度交易维度合并维度vs.独立维度收货顾客维度(2/4)粒度:为每个分离的收货地址包含一行内容收货顾客维表中的独立体系结构收货地址收票地址顾客机构体系地址–顾客单位与签收单营销机构2122收货顾客维度(3/4)营销机构(作为一个单独的维度还是放在顾客维度表)考虑因素营销代表与收货地址之间的关系“一对一”或“多对一”高度相关–合并为一个收货顾客维度随着时间或产品产生变化–两个独立的维度如果营销代表与收货顾客独立地参与了其它的事实表建立各自独立的维度表23收货顾客维度(4/4)当实体之间存在固定的、不随时间变化的、强烈相关的关系时,需要作为单一维度进行建模。其他情况下需要分割需要考虑维度过多的情况,如果方案已经确定维度数量(例如,25)则充分考虑维度组合的问题24交易维度如果期限、打折等交易信息存在相关,则组合成一个维度订单事务事实订单日期关键字(FK)请求装货日期关键字(FK)产品关键字(FK)收货顾客关键字(FK)营销代表关键字(FK)交易关键字(FK)订单编号(DD)订单分列项编号(DD)订购量总订购额订购交易贴现金额净订购额交易维度交易关键字(PK)交易描述交易条款描述交易条款类型描述打折描述打折类型描述具体激励描述具体激励类型描述订单日期维度请求装货日期维度产品维度营销代表维度收货顾客维度25订单编号退化维度来源于操作性数据环境的订单细节已经从订单标题中剥离出来形成独立的维度订单日期收货顾客地址……订单编号用于对订单上的分列项目进行分组,因此仍然有效偶尔用于数据仓库反向连接操作型领域26杂项维度(1/3)从复杂的数据源中提取与事实、维度相关的字段后,往往还有大量在小范围内选取离散值的指示符与标志将标志与指示符不加改变地留在事实表行中事实表膨胀将每个标志与指示符放在本身的单独维度中维度膨胀将所有标志与指示符从设计中剥离出来删除难以理解的,杂乱的,或者与分析操作无关的维度属性也可以将它们组装成一个或多个独立的杂项维度表(junkdimension)27杂项维度(2/3)订单指示符关键字支付类型描述支付类型组订单出/入指示符代办信用指示符订单类型指示符1现金现金输入订单可代办一般2现金现金输入订单非代办展览3现金现金输入订单非代办示范4现金现金输出订单可代办一般5发现者信用卡信用卡输出订单非代办展览6发现者信用卡信用卡输入订单可代办一般7发现者信用卡信用卡输入订单非代办展览8发现者信用卡信用卡输入订单非代办示范9发现者信用卡信用卡输出订单可代办一般10发现者信用卡信用卡输出订单非代办展览11万事达信用卡信用卡输入订单可代办一般12万事达信用卡信用卡输入订单非代办展览13万事达信用卡信用卡输入订单非代办示范14万事达信用卡信用卡输出订单可代办一般28杂项维度(3/3)预先为所有组合创建杂项维度行vs.实际遇到的组合创建杂项维度行组合可能大小vs.组合预计大小杂项维度可以用以维护附在事实行上的自由注释字段参数化自由注释字段自由注释的数量远小于事实行的数量需要引入“非注释行”的代理关键字29多种流通货币选择一个标准的通用货币,并建立其它货币与之转换关系不同货币之间的汇率是随着时间变化的同时货币之间的互兑汇率也是不尽相同的建立货币事实表货币和国家之间不一一对应30订单事务事实表订单日期关键字产品关键字……订购量本地货币订单额本地货币订单贴现额本地货币订单净额美元订单额美元订单贴现额美元订单净额订单日期维度产品维度货币转换事实转换日期关键字源货币关键字目标货币关键字源-目标货币兑换率目标-源货币兑换率每日货币互兑事实表跟踪多种货币收货顾客维度营销代表维度交易维度货币维度支持两种货币形式的事实表支持多种货币形式的事实报表31粒度不同的标题与分列项事实订单的运费–仅适用于整份订单处理方法在较低层次事实表中尽可能包含所有可用的高层事实表中的事实但这样的实现方式并不能适用于所有的情况不能在同一个事实表中混用不同粒度的事实解决办法:向下分配事实将运费与其他标题级事实展现在用于整个订购的聚集表中32订单标题事实订单日期关键字(FK)收货顾客关键字(FK)营销代表关键字(FK)交易关键字(FK)订单编号(DD)订购装运费用订单分列项事实订单日期关键字(FK)产品关键字(FK)收货顾客关键字(FK)营销代表关键字(FK)交易关键字(FK)订单编号(DD)更多分列项事实……订购装运费用分配注意:由于产品不用于订单标题,所以事实表中没有产品维度标题事实分配到分列项层次后,就可以按产品维度分析事实订单标题事实到订单分列项的分配33发票事务(1/2)(装运)发票的内容发货日期,目的地,顾客具有多个分列项(对应着发送的不同商品)不同的分列项有不同的数量、价格、贴现与打折等内容发票总额发票事实表的设计建立对应各个分列项的事实新的维度:发货,货运人,顾客满意度34发票事务(2/2)发货维度为每个制造商货栈或装货点建立一个维度元组,包括:名字,地址,联系人,存储设施类型等维度属性货运人维度描述将产品从制造商运送给顾客所使用的方法与运载工具35装运发票分列项事务事实发票日期关键字(FK)请求装运日期关键字(FK)实际装运日期关键字(FK)产品关键字(FK)收货顾客关键字(FK)交易关键字(FK)货主关键字(FK)顾客满意度关键字(FK)发票编号(
本文标题:09DimensionalModeling3.
链接地址:https://www.777doc.com/doc-3053412 .html