混合缓慢变化维度技术

一、概念

  • 混合缓慢变化维度:是将SCD的4种基础类型的其中几种合并使用的技术

二、策略

  1. 类型5:微型维度与类型1支架表

该类型的的特点是将当前微型维度主键作为主维度的一个属性。该微型维度主键引用的是类型1属性,重写每个概要的变化,不必像类型2那样跟踪属性。

若希望在缺乏事实度量时获得当前概要技术,或者希望基于客户当前概要上卷历史事实的时候,采用类型5是非常有必要的。逻辑上在展现区需要将主维度和微型维度支架表示为单一表,下图为数据模型在数据仓库和展现区的不用形式:

在这里插入图片描述
注意:类型4微型维度这一术语是指某个统计主键何时是事实表组合键的一部分。如果统计主键是客户维度的外键,则被称为支架

  1. 类型6:将类型1属性增加到类型2维度

以产品维度举例,当产品部门发生变更后,即要知道该产品历史的部门信息,也需要知道当前最新的部门信息。这就需要两个列来进行存储:一个是通过追加行来跟踪部门变化的类型2的列,一个是每次部门变化都更新的类型1列。

在这里插入图片描述
当产品部门发生重构时,IntelliKidz软件被分配到策略部门,将建立新行使用类型2响应获取属性的变化。在新的IntelliKidz维度行中,当前部门与历史部门相同。对以前的所有IntelliKidz实例,当前部门属性将被重写来反映当前部门。所有历史行中的当前部门都表示为策略部门

采用此方法,可以基于当事实发生时有效的属性值,使用历史属性分组事实。也可以使用当前属性上卷事实到当前部门。但该类型的复杂性比较高,应当在灵活性和复杂性之前做权衡,选择一个好的跟踪策略,或者给用户暴露他们需要的列。

  1. 类型7:双重类型1与类型2维度

在这种混合技术中,除了代理键用于类型2跟踪外,维度自然键被当做事实表外键。如果自然键不方便甚至被重新分配的,应该使用不同的持续性超自然键加以替代。当真实事件发生时,类型2维度包含方便的可基于有效值过滤和分组的历史准确的属性;持久键与维度的连接采用当前类型1值,该类型的列标识应该为“当前”,即该类型中的产品信息为最新的,当真实事件发生时,都可以使用这些维度属性基于当前信息汇总或者过滤事实。

下图为类型7的模型图,事实表中含有一个代理键和持久键,分别用于关联类型1的当前产品维度表和类型2的产品维度表
在这里插入图片描述
当然,这种技术也可以通过连接包含当前属性的类型1视图与类型2维度表本身的持久键来避免在事实表中使用持久键。
该类型1和类型2维度方法的双重键的一种变体需要依赖发布当前类型1属性的视图,但是,在此情况下,该视图要将当前属性值与所有持久键的类型2行关联,如下图所示:
在这里插入图片描述

三、总结

下图是针对缓慢变化维技术的总结:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值