Ich habe ein Problem bei der Entscheidung, wie diese Daten in meiner Datenbank gespeichert werden sollen. Irgendwelche Vorschläge, wie es am besten geht? Ich weiß nicht viel über Datenbanken, könnte ich hinzufügen.
Ich habe Daten, die wie folgt formatiert eingehen, aber anstelle von 4 ist die Anzahl der Spalten ungefähr 240, sodass mit jedem Datum 240 eindeutige Werte verknüpft sind:
Date/Time 200,00 202,50 205,00
2010.11.12 13:34:00 45,8214 43,8512 41,5369
2010.11.12 13:35:00 461,9364 454,2612 435,5222
Außerdem werden Zeilen mit DataSites verknüpft.
Mein erster Gedanke war, eine Tabelle wie diese zu haben: DataID (pk), DataSiteID, ParameterID, Datum, Wert mit einem Index für DataSite, Parameter und Datum. Die ParameterID verweist auf eine andere Tabelle, in der die Kopfzeilen der Eingabespalten gespeichert sind (200,00 202,50 205,00 ...).
Mein zweiter Gedanke war einfach, eine Tabelle mit allen 240 ungeraden Spalten zu haben. Ich habe mir ein paar andere Möglichkeiten ausgedacht, aber sie sind auch ziemlich unbefriedigend.
Das Problem, das ich bei meiner ersten Lösung habe (kein so großes Problem, aber es gefällt mir nicht), ist, dass das Datum und die DataSiteID für alle 240 Werte in dieser Eingabezeile wiederholt werden, sodass sie ziemlich viel verwenden zusätzlichen Platz.
Pro Jahr werden ca. 40 GB Daten (im obigen Textformat) eingehen, und die Daten werden nach DataSite, Parameter und Datum durchsucht. Die Menge der eingehenden Daten wird sich höchstwahrscheinlich innerhalb eines Jahres vervierfachen.
Irgendwelche guten Ideen? Danke, James
Bearbeiten: Dies sind Zeitreihendaten, wobei die Spalten Messungen bei verschiedenen Wellenlängen sind. Daten sollten in einem relativ engen Wellenlängenbereich analysiert werden. Zu einem späteren Zeitpunkt könnten auch zusätzliche Wellenlängen hinzugefügt werden.
edit: Danke für die Antworten Leute, ich weiß es wirklich zu schätzen :) Ich denke, ich kann wahrscheinlich Zeit finden, einige Experimente mit etwa 500 GB Testdaten durchzuführen. Ich werde mit irgendwelchen Schlussfolgerungen zurückschicken;)