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
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?!
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?
Wenn man schon auf die Idee kommt, ein Array äquidistanter Werte in eine Datenbank zu stopfen, weshalb verwendet man dann überhaupt eine Datenbank? Dann kann man es doch genausogut gleich beim Array (File) belassen und das bei fester Grösse reihum durch beschreiben.
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.
postgres schrieb: > Danke auch für den Tipp mit den rrdtools, wobei die wohl eher die > Datenbank ersetzen und für reines Logging gemacht sind. Korrekt, wobei stufenweise Datenverdichtung und Grafikdarstellung gleich mit drin enthalten sind. Aber wenns nicht passt...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.