第八章 维度设计之维度变化


维度变化的描述

与事实表变化相比,维度表变化相对缓慢,如何描述维度表的变化,有以下三种方式:

1)重写维度值:这种方式直接覆盖原数据


变化前


变化后

2)插入新维度行:可以保留历史数据,但不能将变化前后的事实数据归一化

变化后

3)添加维度列:添加一个新列表示当前类目

变化后

三种方式根据对历史数据的具体需求,选择相应的方法


快照维表

       基于数据仓库的更新周期,每个周期保留一份全量的维度表快照数据,可以随时获取当天的维度数据信息。这种方式使用便捷,但是浪费了极大的存储空间


极限存储

1)历史拉链存储:新增两个时间戳,记录变更起始时间,将所有以天为粒度的变更数据记录下来,起始时间也作为分区字段。假设一个场景,卖家1第一天上架AB商品,第二天下架B商品,上架C商品

全量存储方式



极限存储方式

使用极限存储的方式每天更新变化数据,获取某一天数据需要限制起始时间,如访问1月1日数据,stat<=20160101 and end>20160101

2)分月做历史拉链表可以减少分区的数量

3)通常使用存有近期数据的全量数据表+历史拉链表配合使用

你可能感兴趣的:(第八章 维度设计之维度变化)