Ho un problema nel decidere come archiviare questi dati nel mio database. Qualche suggerimento sul modo migliore per farlo? Non ne so molto dei database, potrei aggiungere.
Ho i dati in arrivo formattati in questo modo, ma anziché 4, il numero di colonne è di circa 240, quindi ad ogni data sono associati 240 valori univoci:
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
Inoltre, le righe sono associate a DataSites.
Il mio primo pensiero è stato quello di avere una tabella in questo modo: DataID (pk), DataSiteID, ParameterID, Date, Value, con un indice su DataSite, Parameter e Date. L'ID parametro si riferisce a un'altra tabella che memorizza le intestazioni della colonna di input (200,00 202,50 205,00 ...).
Il mio secondo pensiero era semplicemente di avere una tabella con tutte le 240 colonne dispari. Ho escogitato alcuni altri modi, ma sono anche abbastanza insoddisfacenti.
Il problema che ho con la mia prima soluzione (non un problema così grande, ma non mi piace), è che la Data e il DataSiteID verranno ripetuti per tutti i 240 valori in quella riga di input, quindi usa un po ' di spazio extra.
Ci saranno circa 40 GB di dati all'anno in arrivo (nel formato di testo sopra) e i dati verranno cercati per DataSite, Parametro e Data. La quantità di dati in arrivo molto probabilmente quadruplicherà in circa un anno.
Qualche buona idea? Grazie James
modifica: si tratta di dati di serie temporali, con le colonne misurate a lunghezze d'onda diverse. I dati vorranno essere analizzati in un intervallo relativamente ristretto di lunghezze d'onda. Potrebbero anche essere aggiunte lunghezze d'onda aggiuntive in futuro.
modifica: Grazie per le risposte ragazzi, lo apprezzo davvero :) Penso che probabilmente riuscirò a trovare il tempo per eseguire alcuni esperimenti con circa 500 GB di dati di test. Riporterò indietro con qualsiasi conclusione;)