SQL Datenbank Design (Wetterstation)

  • Hi,
    Was du hier machst sind Metriken über die Zeit zu erheben und dafür willst du definitiv keine Sql Datenbank haben, Relationen sind hier in diesem Sinne nicht erforderlich. Was du eigentlich suchst ist eine Time Series Database, wie z. b. https://github.com/influxdata/influxdb. Hat auch den Vorteil, dass du direkt Optionen für die Retention hast, sprich wie lange soll die Datenbank die Daten aufbewahren. Sie löscht die Daten dann selbst wenn sie zu alt sind.
    Zur Visualisierung kannst du z. b. Grafana nutzen. https://github.com/grafana/grafana/blob/master/README.md

    Vg,
    Mapi

    Gesendet von meinem ONEPLUS A3003 mit Tapatalk

  • Hallo Gnom
    "Dein Verständnis samt Begrifflichkeiten geht noch ziemlich wirr durcheinander. Nimm dir mal ein Grundlagenskript zu Datenmodellierung und Datenbanken zur Hand und lies alles, was hier geschrieben wurde nochmal in Ruhe durch... Wenn man relationale Datenbanken in 20 Minuten verstehen könnte, gäbs keine gut bezahlten Spezialisten mit jahrelanger..."

    Da ich tatsächlich kein gut bezahlter Spezialist sondern eher Hobbyist bin der das Thema Datenbank streift bin ich noch am lernen. Sicher lese ich mir auch Grundlagenscripte durch.
    Wenn ich begrifflichkeiten falsch nutze, bitte gib sofort Bescheid sonst lernt man ja nie dazu ;)

    Ich kann nur nochmal wiederholen, ich suche eine Struktur die man flexibel einsetzen kann und die um Stationen erweitert werden kann. Ob da das Wetter oder was anderes sein steht ist erstmal egal.

    Gesendet von meinem SM-G935F mit Tapatalk

  • Zitat von "noisefloor" pid='294937' dateline='1502430110'


    Wir reden hier aber über zwei Tabellen mit einem Fremdschlüssel, also einem eher trivialen Fall.

    Wir reden hier über 10 Mio Datensätze in zwei Jahren. Du hast offenbar noch nie "richige" Abfragen auf größere Datenbanken. So lange du nur ein paar Datensätze einers bestimmten Datums haben willst, geht das alles im Millisekunden. Aber mach mal gescheite Abfrgen über mehrere Schlüsselfelder, da wirst du dich wundern.
    Und da stimme ich dir zu - auf nem Popelrechner wie dem Pi hast du noch mehr Probleme, da passt ja nicht mal die Indextabelle in den RAM...

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Gnom:
    Ich hab jetzt mal aktuell keinen Plan, wie du auf 10 Mio. DS kommst...

    Wenn er alle 30min abtastet und das mit 10 Sensoren (für welche dann je ein DS in die DB geschrieben wird) kommst du aufs Jahr gerechnet auf 175.200 DS...


    Ich selber habe hier seit ca. 3 Jahren eine DB laufen, welche Messwerte in etwa so speichert, wie der TO es machen will (Struktur: https://github.com/Zentris/Xaiomi…esssensoren.sql). Das Ganze gehört zu meiner zentralen Messwerterfassung.

    Die DB läuft auf einem RasPi und beinhaltet derzeit ca. 1,5Mio DS (Die Aufzeichnungen liefen nicht Non-Stop).

    Performancetechnisch gibt es nur wenig zu meckern: Da ich die Abfragen IMMER nach der Zeit und dem "Sensormac" machen muss (ist der Key für die einzelnen Sensoren), würde ich schon merken, wenn sich da was verklemmt. Tut es aber nicht...
    Und: Auch auf dem RasPi passt die Indextable (immer noch) in den RAM.

    Auf einem "richtigen Rechner" (also x86-Technik aktueller Generation) würde das vermutlich selbst mit 10 Mio DS unproblematisch sein.

    Das Problem sind tatsächlich die Tabellenverknüpfungen: Oft ist es schneller, das mit den Join's zu lassen: Die DB legt für jeden Join dynamisch (mindestens) eine Zwischentabelle an (möglichst im RAM)... wenn dann der RAM knapp wird, bricht alles ein...

  • Hallo zusammen.
    Ich habe in einem Post von der Möglichkeit gesprochen alle 30s die Stationen abzufragen und Werte abzulegen.
    Ich denke daher kommt er auf mehr Werte als du.
    Wie gesagt wir reden hier ja nur hypothetisch: Wetterdaten alle 30s abzufragen ist Quatsch. Aber vielleicht will man ja mal andere Messwerte erfassen daher der Wunsch nach Flexibilität.
    Das einzige was Fix ist ist der Aufbau Master mit DB und X Stationen zur Erfassung.

    Gesendet von meinem SM-G935F mit Tapatalk

  • Zitat von "DerSchlangen" pid='294964' dateline='1502448335'


    Hallo zusammen.
    Ich habe in einem Post von der Möglichkeit gesprochen alle 30s die Stationen abzufragen und Werte abzulegen.
    Ich denke daher kommt er auf mehr Werte als du.
    Wie gesagt wir reden hier ja nur hypothetisch: Wetterdaten alle 30s abzufragen ist Quatsch. Aber vielleicht will man ja mal andere Messwerte erfassen daher der Wunsch nach Flexibilität.
    Das einzige was Fix ist ist der Aufbau Master mit DB und X Stationen zur Erfassung.

    Gesendet von meinem SM-G935F mit Tapatalk

    Welchen Typ Wetterstation nutzt du?
    Ziehst du meinen Vorschlag in Betracht? Der wäre so flexibel. Da interessiert nur wann, wer, was und dazu musst du so gut wie nichts coden, daher die Frage nach den Möglichkeiten deiner Station.
    Vg

    Gesendet von meinem ONEPLUS A3003 mit Tapatalk

  • Hallo Mapi!
    Alle Stationen die ich nutzen werde sind eigenbauten bzw. einige Sensoren sind auf Breakouts.
    Deine Idee hört sich sehr interessant an, werde das mal ansehen wenn ich mal wieder bprm Rechner sitze.
    Danke für den Tipp!

    Gesendet von meinem SM-G935F mit Tapatalk

  • Armer Themenstarter,

    ich bin zwar unteranderem DB Experte, aber wenn man noch nie damit was gemacht hat, würde ich empfehlen die ersten Konzepte mit einer Tabelle auszuprobieren, und das schreiben und lesen erst einmal zu lernen ... Dann Schritt 2 sollte eine einfache graphische Chartdarstellung für timeseries sein ....
    Ab dann kommen dann die Anforderungen die man hat von selbst ....

    Meine Allgemeine Empfehlung - Endlösung - ist eine Vorverarbeitung on-thr-fly welches ein kleines DWH mit Aggregierten Minutenwerten in eine Faktentabelle füttert .... Die Rohdaten braucht man im obigen Anwendungsfall für Wetterdaten eh nicht.

    Grüße,

    mojopi


    Gesendet von meinem UMI TOUCH mit Tapatalk

  • Hurra! Eine Wetterstation mit Big Data! Data Warehouse finde ich noch etwas schmalbrüstig im Ansatz... du könntest Google eines seiner Rechenzentren abkaufen und ein paar Spezialisten vom CIA helfen dir bei der Programmierung...

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!