最近我被问到,如何向一个完全不了解数据仓库/星型模式的人简要地解释什么是“缓慢变化维”。
既然假设听众完全不了解星型模式,那么简要地向他介绍“事实”与“维度”的概念是必要的。
在用于支持业务过程的分析场景下,分析是通过对业务过程度量来实现的。业务过程数据中的“度量”被称为“事实”,度量的应用“环境”被称为“维度”。大多数事实是数值,通常可以对它们进行汇总。维度通常充当条件过滤器、定义分组或者分类汇总的层次等。
按 Ralph Kimball 自己在其著作1里说的,“维度表属性相对稳定,但它们还是会发生变化的,尽管相当缓慢,属性值仍会随时间发生变化”。这里“缓慢变化”维的“缓慢”,应该是指与积累数据行较为快速的事实表比较,维度积累变化相对缓慢。所以叫“缓慢”变化维(Slowly Changing Dimension, SCD),也有人译作“渐变维”的。
通常说的“拉链表”,指的是处理缓慢变化维的典型技术中的“变化类型2”。
有些场景下,某些维度数量巨大,被称为“大型维度”;或者维度变化速率加快,称为“快速变化维度”。应对这些维度有时会使用“变化类型4”即增加微型维度的技术,该技术还是属于 SCD 技术。
参考
- The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling, Third Edition. ISBN: 978-7-302-38553-0 ↩
Comments