Hallo,
ich habe hier schon viel über Datenlogging in InfluxDB gelesen und bin selbst gerade dabei so etwas aufzubauen. Anders als relationale Datenbanken ist mir InfluxDB jedoch nicht so intuitiv. Daher würde ich gerne ein paar best practice Tipps zur Datenstruktur sammeln.
Zum Start die Aufzeichnung von Strom-Verbrauchsdaten. Der Verbrauch soll gemessen werden in kWh, in EUR und mit Zählerstand. Es gibt den Verbrauch je Verbraucher und einen Gesamtverbrauch, der aber größer ist als die Summe aller (gemessenen) Verbraucher.
so ähnlich wird es von meinem jetzigem skript gespeichert:
Andere Posts hier im Forum speichern direkt als GA, was aufs Gleiche rauskommt.
Ich finde, dass dabei die Vorteile der InfluxDB nicht genutzt werden - aber wie mache ich es richtig?
Ist das bucket "hausdaten" überhaupt richtig, oder sollte ich einen eigenen bucket für "verbrauch" erzeugen, um diesen z.B. von den Fensterkontakten oder Präsenzmeldungen zu trennen?
Ich hatte über sowas nachgedacht (V1):
oder sogar (V2):
oder (V3):
möglich auch (V4):
Mein Gefühl sagt mir, dass V4 vermutlich das flexibelste ist. Allerdings nimmt man sich die Möglichkeit gleiche Zeitstempel für zugehörige Daten zu setzen. V2 wirkt auf mich am natürlichsten, wobei ich es nicht begründen kann.
Wie habt ihr das gelöst?
Gruß,
Kevin
ich habe hier schon viel über Datenlogging in InfluxDB gelesen und bin selbst gerade dabei so etwas aufzubauen. Anders als relationale Datenbanken ist mir InfluxDB jedoch nicht so intuitiv. Daher würde ich gerne ein paar best practice Tipps zur Datenstruktur sammeln.
Zum Start die Aufzeichnung von Strom-Verbrauchsdaten. Der Verbrauch soll gemessen werden in kWh, in EUR und mit Zählerstand. Es gibt den Verbrauch je Verbraucher und einen Gesamtverbrauch, der aber größer ist als die Summe aller (gemessenen) Verbraucher.
so ähnlich wird es von meinem jetzigem skript gespeichert:
Code:
hausdaten,waschmaschine_verbrauch_kwh=100, waschmaschine_zaehlerstand_kwh=1000 hausdaten,trockner_verbrauch_kwh=200, trockner_zaehlerstand=5200 hausdaten,stromzaehler_kwh = 55000 hausdaten,kosten_kwh = 0.4
Ich finde, dass dabei die Vorteile der InfluxDB nicht genutzt werden - aber wie mache ich es richtig?
Ist das bucket "hausdaten" überhaupt richtig, oder sollte ich einen eigenen bucket für "verbrauch" erzeugen, um diesen z.B. von den Fensterkontakten oder Präsenzmeldungen zu trennen?
Ich hatte über sowas nachgedacht (V1):
Code:
verbrauch,geraet="waschmaschine" verbrauch_kwh=100, verbrauch_eur=40, zaehlerstand_kwh=1000
Code:
verbrauch,geraet="waschmaschine",einheit="kwh" verbrauch=100, zaehlerstand=1000 verbrauch,geraet="waschmaschine",einheit="eur" verbrauch=40
Code:
verbrauch,geraet="waschmaschine", typ="verbrauch" kwh=100, eur=40 verbrauch,geraet="waschmaschine", typ="zaehlerstand" kwh=100
Code:
verbrauch,geraet="waschmaschine", typ="verbrauch", einheit="kwh" messwert=100 verbrauch,geraet="waschmaschine", typ="verbrauch", einheit="eur" messwert=40 verbrauch,geraet="waschmaschine", typ="zaehlerstand", einheit="kwh" messwert=100
Wie habt ihr das gelöst?
Gruß,
Kevin
Kommentar