Ankündigung

Einklappen
Keine Ankündigung bisher.

InfluxDB Best Practice Datenstruktur

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    InfluxDB Best Practice Datenstruktur

    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:
    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
    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):
    Code:
    verbrauch,geraet="waschmaschine" verbrauch_kwh=100, verbrauch_eur=40, zaehlerstand_kwh=1000
    oder sogar (V2):
    Code:
    verbrauch,geraet="waschmaschine",einheit="kwh" verbrauch=100, zaehlerstand=1000
    verbrauch,geraet="waschmaschine",einheit="eur" verbrauch=40
    oder (V3):
    Code:
    verbrauch,geraet="waschmaschine", typ="verbrauch" kwh=100, eur=40
    verbrauch,geraet="waschmaschine", typ="zaehlerstand" kwh=100
    möglich auch (V4):
    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
    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


    #2
    Hallo KevinT,

    wie hast du es jetzt bei dir umgesetzt? Ich würde auch zu Option 4 mit dem genannten Nachteil der gleichen Zeitstempel tendieren. Ich kann nicht abschätzen, ob es wirklich ein Problem in der Nutzung später sein wird. Was ist deine Erfahrung bisher?

    Kommentar


      #3
      Hallo cpa87,
      aktuell hadere ich mit InfluxDB sehr grundsätzlich.
      Eine sinnvolle Struktur steht und fällt mit einer geeigneten Art auszuwerten. Dafür habe ich noch keine Lösung. Grafana kann zwar darstellen, aber Stöbern in den Daten ist schon sehr umständlich. Mir ist es bisher weder gelungen meine Datenbank an PowerBI, noch an Anaconda (Jupyter Notebook) anzudocken. Der biult-in-Datenbrowser hat wenig Möglichkeiten verschiedene "Views" zu speichern und zu kombinieren (oder ich kenne sie nicht).

      Insgesamt ist auch die Community von Flux eher klein, also viel selbst tüfteln! Außerdem steht mit jedem Release auf der Kippe, ob Flux weiterhin supportet wird und wenn ich InfluxQL wähle kann ich vermutlich gleich eine MySQL-Datenbank nutzen, da ist die Community riesig.

      Gruß,
      Kevin

      Kommentar

      Lädt...
      X