Data-Warehouse
同一實體的維度和事實?
我在 DW 設計方面相當陌生,並且正在開發 DW 以對一些 IT 基礎架構進行建模。
此時的主要問題/問題是如何對驅動資訊進行建模。
我們將收集文件和文件夾的聚合數據,以及物理驅動器上的單獨數據。驅動器資訊將至少包括總空間和可用空間,並將每週更新幾次。
需要回答的業務問題之一是隨著時間的推移驅動器的使用趨勢如何。驅動器資訊也將用於通向文件/文件夾級別的層次結構中。
我現在可以看到的選項是:
- 實現
DRIVE
為維度
- 簡化層次結構設計
- 這會導致報告出現問題嗎?僅報告維度上的時間限制數據對我來說似乎違反直覺
- 擁有一個您知道每次刷新數據時都會更改的維度似乎也有問題
DRIVE
作為事實表實施
- 簡化報告
- 使層次結構複雜化(?) - 我也將
Drive
用於將數據映射回特定的伺服器或電腦。可以將事實表用作層次結構中的中間層嗎?我不認為它是。
DRIVE
作為事實和維度實施
- Fact 將僅包含空間上的密鑰、日期和事實
- Dimension 將包括其他非附加數據,例如它所在的電腦等。
- 似乎解決了這兩個問題,但這是一種反模式嗎?
我希望我會有一個 drive_usage 事實表,其中包含指向快照時間維度、驅動器維度、電腦維度以及關於該時刻驅動器的各種數字事實的連結。
驅動器尺寸可能沒有任何定期變化 - 我想這取決於您對驅動器的定義 - 它是物理驅動器還是邏輯單元或什麼。也許您的“C”驅動器有一個序列號,並且它已被替換 - 然後該維度將過期並添加一個新維度。這些關於維度的東西並不是真正的“事實”,它們是屬性。這不會影響報告,因為電腦 X、驅動器 C 的數據具有連續性。同樣,如果電腦 X 從雙核升級到四核,那麼維度就會發生變化(假設事實表中沒有跟踪超出核心數量的內容,例如主機板修訂版)。驅動器的容量將在事實表中,因此隨著時間的推移對其進行更改只是具有新日期的新事實。有時您甚至可以將成員資格的更改建模為事實。即,如果物理驅動器 1-5 一天在邏輯驅動器 C 中,然後物理驅動器 1-6 在邏輯驅動器 C 中,這可能只是物理驅動器成員事實表中的事實更改。這些就是一些人所說的無事實事實表,因為唯一的事實是行顯示成員資格的存在 - 除了總計或計數之外沒有什麼可做的。
當您進入文件夾時,根據您嘗試使用匯總實現的目標,對層次結構進行建模可能會更加棘手。
在不是普通場景的領域中,DW 建模有很多藝術。