緩慢漸變維
拉鏈表
拉鏈表,可實現數據快照,可以將歷史和最新數據保存在一起
如何實現:
在原始數據增加兩個新字段 起始時間(有效時間:什么時候導入的數據的時間),結束時間(默認的結束時間為9999-99-99)
處理時間是處理昨天的數據 因為是今天處理昨天的時間 有效結束時間應該是昨天
如果有效時間為9999-99-99 說明當前數據為最新數據
數據導入數據倉中拉鏈表的流程:
首先需要使用where 條件過濾 查詢哪些是新數據
接下來需要把新數據的拉鏈表與之前數倉中的拉鏈表進行結合
1- 先進行左關聯(left join)
數據有變化會顯示新數據,沒有則顯示null 數據沒有變化
操作指令: select if(表名.字段 is null,結束時間,現在時間-1) as end_time
from 舊表名 left join 新表名 ;
2- left join 進行 union 操作
union all 進行數據合并