Data-Warehouse

同一實體的維度和事實?

  • September 14, 2012

我在 DW 設計方面相當陌生,並且正在開發 DW 以對一些 IT 基礎架構進行建模。

此時的主要問題/問題是如何對驅動資訊進行建模。

我們將收集文件和文件夾的聚合數據,以及物理驅動器上的單獨數據。驅動器資訊將至少包括總空間和可用空間,並將每週更新幾次。

需要回答的業務問題之一是隨著時間的推移驅動器的使用趨勢如何。驅動器資訊也將用於通向文件/文件夾級別的層次結構中。

我現在可以看到的選項是:

  1. 實現DRIVE為維度
  • 簡化層次結構設計
  • 這會導致報告出現問題嗎?僅報告維度上的時間限制數據對我來說似乎違反直覺
  • 擁有一個您知道每次刷新數據時都會更改的維度似乎也有問題
  1. DRIVE作為事實表實施
  • 簡化報告
  • 使層次結構複雜化(?) - 我也將Drive用於將數據映射回特定的伺服器或電腦。可以將事實表用作層次結構中的中間層嗎?我不認為它是。
  1. DRIVE作為事實和維度實施
  • Fact 將僅包含空間上的密鑰、日期和事實
  • Dimension 將包括其他非附加數據,例如它所在的電腦等。
  • 似乎解決了這兩個問題,但這是一種反模式嗎?

我希望我會有一個 drive_usage 事實表,其中包含指向快照時間維度、驅動器維度、電腦維度以及關於該時刻驅動器的各種數字事實的連結。

驅動器尺寸可能沒有任何定期變化 - 我想這取決於您對驅動器的定義 - 它是物理驅動器還是邏輯單元或什麼。也許您的“C”驅動器有一個序列號,並且它已被替換 - 然後該維度將過期並添加一個新維度。這些關於維度的東西並不是真正的“事實”,它們是屬性。這不會影響報告,因為電腦 X、驅動器 C 的數據具有連續性。同樣,如果電腦 X 從雙核升級到四核,那麼維度就會發生變化(假設事實表中沒有跟踪超出核心數量的內容,例如主機板修訂版)。驅動器的容量將在事實表中,因此隨著時間的推移對其進行更改只是具有新日期的新事實。有時您甚至可以將成員資格的更改建模為事實。即,如果物理驅動器 1-5 一天在邏輯驅動器 C 中,然後物理驅動器 1-6 在邏輯驅動器 C 中,這可能只是物理驅動器成員事實表中的事實更改。這些就是一些人所說的無事實事實表,因為唯一的事實是行顯示成員資格的存在 - 除了總計或計數之外沒有什麼可做的。

當您進入文件夾時,根據您嘗試使用匯總實現的目標,對層次結構進行建模可能會更加棘手。

在不是普通場景的領域中,DW 建模有很多藝術。

引用自:https://dba.stackexchange.com/questions/24336