数仓维度模型

一、SCD(Slowly Changing Dimensions),中文一般翻译成“缓慢变化维”。

顾名思义,缓慢变化维度(slowly changing dimension, SCD)就是数据仓库维度表中,那些随时间变化比较不明显,但仍然会发生变化的维度。考虑以下两个情境:

  • 在员工维度表中,某员工原来在北京分公司工作,后来调往上海分公司,那么“工作地点”就是一个缓慢变化维度;
  • 在采购维度表中,办公电脑原来从戴尔供应商处进货,后来换成了联想,那么“供应商”就是一个缓慢变化维度。

处理缓慢变化维度是Kimball数仓体系中永恒的话题,因为数据仓库的本质,以及维度表在维度建模中的基础作用,我们几乎总是要跟踪维度的变更(change tracking),以保留历史,并提供准确的查询和分析结果。在《The Data Warehouse Toolkit, 3rd Edition》一书的第5章,Kimball提出了多种缓慢变化维度的类型和处理方法,其中前五种是原生的,后面的方法都是混合方法(hybrid techniques),因此下面来看看前五种,即Type 0~Type 4。

 

二、退化维度
        本篇讨论一种称为退化维度的技术。该技术减少维度的数量,简化维度数据仓库的模式。简单的模式比复杂的更容易理解,也有更好的查询性能。当一个维度没有数据仓库需要的任何数据时就可以退化此维度。需要把退化维度的相关数据迁移到事实表中,然后删除退化的维度。

 

二、杂项维度
        如果每个属性值都很少,可以把这些维度的组合起来生成一个维度表。

posted @ 2020-10-28 20:10  lenomail  阅读(294)  评论(0)    收藏  举报