1. 程式人生 > >ETL-關於緩慢變化維的幾種常見解決方法:

ETL-關於緩慢變化維的幾種常見解決方法:

緩慢變化維:

維度表裡面的資料並非是始終不變的,總會隨著時間發生變化。

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

----百度百科

來自:

緩慢變化維的幾種常見解決方法

 

第一種方法,直接在原來維度的基礎上進行更新,不會產生新的記錄:
1) 更新前:
    emp_rid(代理鍵)  emp_id(自然鍵)   emp_name  position
    101212                   12345             Jack         Developer
 
    更新後:
    emp_rid(代理鍵)  emp_id(自然鍵)   emp_name  position
    101212                   12345             Jack          Manager
 
 
 
第二種方法,不修改原有的資料,重新產生一條新的記錄,這樣就可以追溯所有的歷史記錄:
1) 更新前:
    emp_rid(代理鍵)  emp_id(自然鍵)   emp_name  position   start_date   end_date
    101212                 12345             Jack            Developer  2010-2-5    2012-6-12
 
    更新後:
    emp_rid(代理鍵)  emp_id(自然鍵)   emp_name  position   start_date   end_date
    201245                 12345             Jack            Manager     2012-6-12
 
 
 
第三種方法,直接在原來維度的基礎上進行更新,不會產生新的記錄但是隻會記錄上一次的歷史記錄:
1) 更新前:
    emp_rid(代理鍵)  emp_id(自然鍵)   emp_name  position   old_position   
    101212                 12345             Jack               Developer  null
 
    更新後:
    emp_rid(代理鍵)  emp_id(自然鍵)   emp_name  position   old_position
    101212                 12345             Jack               Manager     Developer

 

ETL面試題

包括:

1. What is a logical data mapping and what does it mean to the ETL team?
什麼是邏輯資料對映?它對ETL專案組的作用是什麼?

2. What are the primary goals of the data discovery phase of the data warehouse project?
在資料倉庫專案中,資料探索階段的主要目的是什麼?

3. How is the system-of-record determined?
如何確定起始來源資料?

4. What are the four basic Data Flow steps of an ETL process?
在ETL過程中四個基本的過程分別是什麼?

5. What are the permissible data structures for the data staging area? Briefly describe the pros and cons of each.
在資料準備區中允許使用的資料結構有哪些?各有什麼優缺點?

30. Outline some challenges faced by real-time ETL and describe how to overcome them.
簡述實時ETL的一些難點及其解決辦法。