数据仓库缓慢变化维的三种方式
在图中,使用 PreviousDepartmentName 来显示当前DepartName 的上一个值。
在实际应用中 Type 1 和 Type 2 是最为常用的,也常常会在同一个 Dimension 表中的不同的属性上实现不同的 SCD,? 比如说在上图的例子中,如果 LastName 输入错误了,就不需要对错误的记录进行保存,直接用正确的值替换,这就是 Type 1; 如果DepartmentName 改变了,则需要保存它的历史记录,就是 Type 2; 所以这种处理方法也叫做?Hybrid SCD – 混合型 SCD。需要注意的是,在实现 SCD Type 1 的表上,如果这个Dimension 表同时包含了处理 SCD Type 2 的结构,我们需要将所有的该属性的值进行修改。比如在图中,如果要修改 Rob Walters 的 LastName, 则需要将所以的他的记录全部修改,不论记录的Status 值是什么。
实现 SCD, 需要在数据源上实现有效的 Changing Data Capture (CDC)机制,我的下一篇文章将介绍 CDC 的一些基本知识。