缓慢变化维
缓慢变化维
维度建模的数据仓库中,缓慢变化维(Slowly Changing Dimensions,SCD)。缓慢变化维的提出是因为维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,即处理SCD的问题。
假设在第一次从业务数据库中加载了一批数据到数据仓库中,当时业务数据库有这样的一条顾客的信息。

顾客 BIWORK ,居住在北京,目前是一名 BI 的开发工程师。假设 BIWORK 因为北京空气质量 PM2.5 等原因从北京搬到了三亚。那么这条信息在业务数据库中应该被更新了 。

假设在数据仓库中实现了与业务数据库之间的同步,数据仓库中也直接将词条数据修改更新。之后做数据统计分析时,在数据仓库中所有对顾客 BIWORK 的销售都指向了 BIWORK 新的所在地三亚,但是实际上 BIWORK 在之前所有的购买都发生在北京。
这是一个非常简单的例子,它描述了因一些基本信息的更改可能会引起数据归纳和分析出现的问题。但是有时,这种场景的的确确可能是存在的。为了解决类似于这样的问题需要了解数据仓库中的一个非常重要的概念 - 缓慢渐变维度。
缓慢变化维的解决方案
处理缓慢变化维的方法通常分为三种方式:
第一种方式“TYPE 1”:不记录历史数据,新数据覆盖旧数据。最容易实现,但是没有保留历史数据,无法分析历史变化信息。如果该维度数据的变化并不是你所关心的,那么可以采用直接覆盖历史数据的方法。
可以在 Cus

在数据仓库中,缓慢变化维(SCD)是指维度属性随时间缓慢变化的情况。处理SCD通常有三种方式:1) TYPE 1,新数据覆盖旧数据,不保留历史;2) TYPE 2,保存多条记录并用代理键区分,保留历史;3) TYPE 3,添加历史列,仅保存两次变化记录。采用哪种方式取决于是否需要分析历史变化和业务需求。代理键用于解决唯一性问题,提高查询效率,并允许在不同系统间整合数据。
最低0.47元/天 解锁文章
450

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



