緩慢變化維

緩慢變化維:

維度建模的數據倉庫中,有一個概念叫Slowly Changing Dimensions,中文一般翻譯成“緩慢變化維”,經常被簡寫為SCD。緩慢變化維的提出是因為在現實世界中,維度的屬性並不是靜態的,它會隨著時間的流失發生緩慢的變化。這種隨時間發生變化的維度我們一般稱之為緩慢變化維,並且把處理維度表的歷史變化信息的問題稱為處理緩慢變化維的問題,有時也簡稱為處理SCD的問題。

處理緩慢變化維的方法通常分為三種方式:

第一種方式是直接覆蓋原值。這樣處理,最容易實現,但是沒有保留歷史數據,無法分析歷史變化信息。第一種方式通常簡稱為“TYPE 1”。

第二種方式是添加維度行。這樣處理,需要代理鍵的支持。實現方式是當有維度屬性發生變化時,生成一條新的維度記錄,主鍵是新分配的代理鍵,通過自然鍵可以和原維度記錄保持關聯。第二種方式通常簡稱為“TYPE 2”。

第三種方式是添加屬性列。這種處理的實現方式是對於需要分析歷史信息的屬性添加一列,來記錄該屬性變化前的值,而本屬性欄位使用TYPE 1來直接覆蓋。這種方式的優點是可以同時分析當前及前一次變化的屬性值,缺點是只保留了最後一次變化信息。第三種方式通常簡稱為“TYPE 3”。

在實際建模中,我們可以聯合使用三種方式,也可以對一個維度表中的不同屬性使用不同的方式,這些,都需要根據實際情況來決定,但目的都是一樣的,就是能夠支持方便的分析歷史變化情況。

相關詞條

熱門詞條

聯絡我們