浅谈缓慢变化维



最近我被问到,如何向一个完全不了解数据仓库/星型模式的人简要地解释什么是“缓慢变化维”。

既然假设听众完全不了解星型模式,那么简要地向他介绍“事实”与“维度”的概念是必要的。

在用于支持业务过程的分析场景下,分析是通过对业务过程度量来实现的。业务过程数据中的“度量”被称为“事实”,度量的应用“环境”被称为“维度”。大多数事实是数值,通常可以对它们进行汇总。维度通常充当条件过滤器、定义分组或者分类汇总的层次等。

按 Ralph Kimball 自己在其著作1里说的,“维度表属性相对稳定,但它们还是会发生变化的,尽管相当缓慢,属性值仍会随时间发生变化”。这里“缓慢变化”维的“缓慢”,应该是指与积累数据行较为快速的事实表比较,维度积累变化相对缓慢。所以叫“缓慢”变化维(Slowly Changing Dimension, SCD),也有人译作“渐变维”的。

通常说的“拉链表”,指的是处理缓慢变化维的典型技术中的“变化类型2”。

有些场景下,某些维度数量巨大,被称为“大型维度”;或者维度变化速率加快,称为“快速变化维度”。应对这些维度有时会使用“变化类型4”即增加微型维度的技术,该技术还是属于 SCD 技术。


参考
  1. The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling, Third Edition. ISBN: 978-7-302-38553-0
本文链接: https://paxinla.github.io/posts/2020/04/qian-tan-huan-man-bian-hua-wei.html

知识共享许可协议 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可,欢迎转载、演绎,
但是必须保留本文的署名 Charles(包含链接),且不得用于商业目的。