Arrays in Datenbanken sinnvoll?

Gast #2082147
Lesenswert?

Hallo,

Wann macht eine Verwendung von Arrays in einer Datenbank sinn?
Ich stehe gerade vor der Entscheidung wie ich Sensordaten von mehreren 
Tagen in einer Datenbank speichere.
Die Messungen erfolgen immer in festen Abständen, den ganzen Tag über.

Entweder bekommt jeder Wert seinen eigenen Eintrag in einer Tabelle 
(versehen mit Zeitstempel) oder es gibt eine andere Tabelle, die 
Relationen zwischen Tagen und Arrays herstellt. In diesen Arrays stehen 
dann die Sensorwerte, der Zeitstempel ergibt sich implizit durch die 
Position im Array.
Auf den ersten Blick braucht Variante 2 weniger Speicherplatz, da die 
Zeitstempel nicht für jeden einzelnen Wert mitgespeichert werden.


Ist dem so und gibt es Argumente, die gegen diese Variante sprechen?

Vielen Dank schonmal
Gast #2082154
Lesenswert?

Spielt heutzutage Speicherplatz noch eine Rolle? Ich persönlich würde 
eine Tabelle aus Zeitstempel und Messwert bevorzugen. Der Zeitstempel 
muss ja nicht eine Auflösung von 1ms haben, sondern entsprechend dem 
Messinterval.
Arrays in DBs ist irgendwie inkonsequent, oder?!
Gast #2082164
Lesenswert?

postgres schrieb:
> Entweder bekommt jeder Wert seinen eigenen Eintrag in einer Tabelle
> (versehen mit Zeitstempel) oder es gibt eine andere Tabelle, die
> Relationen zwischen Tagen und Arrays herstellt. In diesen Arrays stehen
> dann die Sensorwerte, der Zeitstempel ergibt sich implizit durch die
> Position im Array.

Ich bevorzuge Version 2.
Die Zeitstempel lassen sich aus der Speicherposition im Array berechnen, 
warum sollte man redundante Information speichern?
Gast #2082177
Lesenswert?

Fabian schrieb:
> Arrays in DBs ist irgendwie inkonsequent, oder?!

Floh schrieb:
> Die Zeitstempel lassen sich aus der Speicherposition im Array berechnen,
> warum sollte man redundante Information speichern?

Ok, das sind wohl die zwei Hauptargumente.

Ich denke der kleine Speicherplatzvorteil macht nicht die Flexibilität 
wett, die durch Speicherung in den Arrays vorbei am DBMS verloren geht.
Daher werde ich wohl zu Variante 1 gehen.

Danke auch für den Tipp mit den rrdtools, wobei die wohl eher die 
Datenbank ersetzen und für reines Logging gemacht sind.
Ich brauche noch viele zusätzliche Daten, daher ist eine Datenbank schon 
notwendig.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren