In unserer Anwendung unterstützen wir benutzerdefinierte Plugins.Data Warehousing beliebige Felder
Diese Plugins generieren Daten verschiedener Typen (int, float, str oder datetime), und diese Daten sind mit Metadatenbündeln (Benutzer, aktuelles Verzeichnis usw.) sowie drei Freitextfeldern gekennzeichnet (MetrischerName, Var1, Var2).
Jetzt haben wir einige Jahre dieser Daten, und ich versuche, ein Schema zu entwerfen, das einen sehr schnellen Zugriff auf diese Metriken in einer analytischen Weise (Diagramme und so) ermöglicht. Dies ist einfach, solange es nur wenige Metriken gibt, an denen wir interessiert sind. Wir haben jedoch eine große Anzahl unterschiedlicher Metriken mit unterschiedlichen Granularitäten und möchten Daten speichern, die vom Benutzer hinzugefügt wurden, um spätere Analysen zu ermöglichen (möglicherweise nach eine Schemaänderung).
Beispieldaten: (bitte beachten Sie dies sehr vereinfacht ist)
=========================================================================================================
| BaseDir | User | TrialNo | Project | ... | MetricValue | MetricName | Var1 | Var2 |
=========================================================================================================
| /path/to/me | me | 0 | domino | ... | 20 | Errors | core | dumb |
| /path/to/me | me | 0 | domino | ... | 98.6 | Tempuratur | body | |
| /some/other/pwd | oneguy | 223 | farq | ... | 443 | ManMonths | waste | Mythical |
| /some/other/pwd | oneguy | 224 | farq | ... | 0 | Albedo | nose | PolarBear |
| /path/to/me | me | 0 | domino | ... | 70.2 | Tempuratur | room | |
| /path/to/me2 | me | 2 | domino | ... | 2020 | Errors | misc | filtered |
Jeder kann ein Parser-Plug hinzufügen, um den Anfang eines AirSpeed metrischen Messung und wir würden unsere analisys Tools wie „einfach funktionieren“ auf dieser neuen Metrik.
Update:
man bedenkt, dass viele der ID Mess die sind vorher gut bekannt ist, kann ich meine Anforderungen erfüllen, wenn ich Analyse auf diesen Metriken ermöglichen können, und speichern Sie einfach die anderen Benutzer hinzugefügte Metriken. Wir können die Tatsache akzeptieren, dass neue Metriken für die Schwerlastanalyse nicht verfügbar sind, ohne das Schema zu bearbeiten.
Was denkst du über diese Lösung?
Ich habe unsere Metriken in drei Faktentabellen aufgeteilt, eine für Fakten, die keine MetricTopic benötigen, eine für diejenigen, die dies tun, und eine für alle anderen Metriken, einschließlich unerwarteter.
Für die Prämie:
Ich werde jede Kritik akzeptieren, die zeigt, wie dieses System funktionsfähig zu machen, oder bringt sie in eine engere Abstimmung mit der Industrie Best-Practices. Literaturhinweise geben zusätzliches Gewicht.
Wie wäre es mit einem Beispiel - sagen wir 10 Messwerte? –
@ Jeffrey L Whitledge: Dieses Schema basiert auf Ihrem Kommentar. – bukzor
@Damir Sudarevic, @ Jeffrey L Whitledge, @ S.Lott: Ich habe eine Bounty zu dieser Frage hinzugefügt, in der Hoffnung, dass Sie eine bessere Antwort denken können. – bukzor