Dimension und Fakt für dieselben Entitäten?


8

Ich bin ziemlich neu im DW-Design und arbeite an einem DW, um eine IT-Infrastruktur zu modellieren.

Das Hauptproblem / die Hauptfrage an dieser Stelle ist, wie Laufwerksinformationen modelliert werden.

Wir werden aggregierte Daten zu Dateien und Ordnern sowie separate Daten zu physischen Laufwerken sammeln. Die Laufwerksinformationen umfassen mindestens den gesamten und freien Speicherplatz und werden mehrmals pro Woche aktualisiert.

Eine der geschäftlichen Fragen, die beantwortet werden müssen, ist, wie sich die Laufwerksnutzung im Laufe der Zeit entwickelt. Die Laufwerksinformationen werden auch in einer Hierarchie verwendet, die auch zur Datei- / Ordnerebene führt.

Die Optionen, die ich jetzt sehen kann, sind:

  1. DRIVEAls Dimension implementieren

    • Vereinfacht das Hierarchiedesign
    • Wird dies Probleme mit der Berichterstattung verursachen? Es erscheint mir nicht intuitiv, zeitgebundene Daten nur für eine Dimension zu melden
    • Es scheint auch problematisch zu sein, eine Dimension zu haben, von der Sie wissen, dass sie sich jedes Mal ändert, wenn Sie Ihre Daten aktualisieren
  2. DRIVEAls Faktentabelle implementieren

    • Vereinfacht die Berichterstellung
    • Komplizierte Hierarchie (?) - Ich werde DriveDaten verwenden, um sie auch einem bestimmten Server oder Computer zuzuordnen. Ist es in Ordnung, eine Faktentabelle als Zwischenebene in einer Hierarchie zu verwenden? Ich glaube nicht.
  3. Implementieren Sie DRIVEsowohl als Fakt als auch als Dimension

    • Fakten enthalten nur den Schlüssel, das Datum und die Fakten zum Speicherplatz
    • Die Dimension enthält andere nicht additive Daten wie den Computer usw.
    • Scheint beide Probleme zu lösen, aber ist dies ein Anti-Muster?

Antworten:


6

Ich gehe davon aus, dass ich zu diesem Zeitpunkt eine Drive_usage-Faktentabelle mit einem Link zu einer Snapshot-Zeitdimension, einer Laufwerksdimension, einer Computerdimension und den verschiedenen numerischen Fakten zum Laufwerk haben würde.

In der Laufwerksdimension sollte sich wahrscheinlich nichts regelmäßig ändern - ich denke, das hängt von Ihrer Definition des Laufwerks ab - ist es ein physisches Laufwerk oder eine logische Einheit oder was? Möglicherweise hat Ihr "C" -Laufwerk eine Seriennummer und diese wurde ersetzt. Dann läuft die Dimension ab und eine neue Dimension wird hinzugefügt. Diese Dinge über eine Dimension sind nicht wirklich "Fakten", sie sind Attribute. Dies hat keine Auswirkungen auf die Berichterstellung, da die Daten für Computer X, Laufwerk C, kontinuierlich sind. Wenn Computer X von Dual Core auf Quad Core aktualisiert wird und sich daher die Dimension ändert (vorausgesetzt, dass etwas über die Anzahl der Kerne hinaus nicht in einer Faktentabelle erfasst wird, wie bei einer Motherboard-Revision). Die Kapazität eines Laufwerks befindet sich in der Faktentabelle, sodass Änderungen daran im Laufe der Zeit nur neue Fakten mit neuen Daten sind. Manchmal können Sie sogar Änderungen an der Mitgliedschaft als Fakten modellieren. Wenn sich die physischen Laufwerke 1-5 an einem Tag im logischen Laufwerk C und die physischen Laufwerke 1-6 am nächsten Tag im logischen Laufwerk C befinden, ist dies möglicherweise nur eine Tatsachenänderung in der Faktentabelle für die Mitgliedschaft im physischen Laufwerk. Dies sind die so genannten faktenlosen Faktentabellen, da die einzige Tatsache darin besteht, dass die Zeile die Mitgliedschaft anzeigt - es gibt nicht viel zu tun, außer zu summieren oder zu zählen.

Wenn Sie in Ordner gelangen, kann das Modellieren der Hierarchie viel schwieriger sein, je nachdem, was Sie mit Rollups erreichen möchten.

Die DW-Modellierung in Domänen, die keine gewöhnlichen Szenarien sind, hat viel Kunst.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.