缓慢变化维经常使用三种处理类型

前言

Slowly Changing Dimension 简称SCD是数据仓库建模和处理过程当中一个很重要的概念,由于数据仓库系统的主要功能是对历史数据进行汇总和分析,因此保存历史记录的变化是很重要的。缓慢变化维的提出是由于在现实世界中,维度的属性并非静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度咱们通常称之为缓慢变化维。markdown

SCD 三种经常使用类型

类型1(Type 1):覆盖旧数值。

根据主键ID来追踪数据是否发生变化,发生变化直接将旧数据覆盖重写spa

优势:节省空间,操做简单code

缺点:没有保留历史数据,没法分析历史变化信息orm

类型2(Type 2):增长新数值。

就相似拉链表,通常增长如下字段。it

star_data(开始时间)io

end_data(结束时间)table

status(状态、是否当前记录值)class

Date Changed (记录改变的时间戳)import

优势:支持追寻历史快照数据,较节省空间im

类型3(Type 3):增长新字段。

添加历史列。不会追踪全部的历史记录,只会追踪上一次的历史信息

优势:只追踪上一次的历史信息,介于类型1和2之间

缺点:若是维护字段较多就比较麻烦

总结

  • 类型1适合不须要维护历史数据,直接覆盖
  • 类型2使用比较多、常见,除了类型1基本上都是优先考虑类型2
  • 类型3适合不会追踪全部的历史记录,只会追踪上一次的历史信息
相关文章
相关标签/搜索