定义
在维度建模的数据仓库中,有一个概念叫Slowly Changing Dimensions,中文一般翻译成“缓慢变化维”,经常被简写为SCD。缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题.
wiki中关于SCD的解释如下:
Dimension is a term in data management and data warehousing that refers to logical groupings of data such as geographical location, customer information, or product information. Slowly Changing Dimensions (SCD) are dimensions that have data that slowly changes.
解决方案
- 新数据覆盖旧数据
- 保存多条记录,并添加字段加以区分
- 不同字段保存不同值
- 另外建表保存历史记录
- 混合模式
下面我们将一一介绍如何使用上面的方案去解决缓慢变化维的问题
新数据覆盖旧数据
此方法必须有前提条件,即你不关心这个数剧的变化。例如,某个纳税人的所属税务机关改了,如果你不关心纳税人的所属税务机关有什么变化则可直接覆盖(修改)数据仓库中的数据。
保存多条记录,并添加字段加以区分
这种情况下直接新添一条记录,同时保留原有记录,并用单独的专用的字段保存区别。如:
| 纳税人ID |
|---|

本文介绍了数据仓库中缓慢变化维(SCD)的概念及其处理方法,包括新数据覆盖旧数据、保存多条记录并添加字段加以区分等五种常见解决方案。
最低0.47元/天 解锁文章
447

被折叠的 条评论
为什么被折叠?



