J'ai un problème pour décider comment stocker ces données dans ma base de données. Des suggestions sur la meilleure façon de le faire? Je ne connais pas grand-chose aux bases de données, je pourrais ajouter.
J'ai des données formatées comme ceci, mais plutôt que 4, le nombre de colonnes est d'environ 240, donc chaque date a 240 valeurs uniques qui lui sont associées:
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
En outre, les lignes sont associées aux DataSites.
Ma première pensée a été d'avoir une table comme celle-ci: DataID (pk), DataSiteID, ParameterID, Date, Value, avec un index sur DataSite, Parameter et Date. Le ParameterID fait référence à une autre table qui stocke les en-têtes de colonne d'entrée (200,00 202,50 205,00 ...).
Ma deuxième pensée était simplement d'avoir un tableau avec toutes les 240 colonnes impaires. J'ai trouvé quelques autres moyens, mais ils sont également assez insatisfaisants.
Le problème que j'ai avec ma première solution (pas un problème si énorme, mais je ne l'aime pas), c'est que la date et le DataSiteID vont être répétés pour les 240 valeurs de cette ligne d'entrée, donc il en utilise un peu d'espace supplémentaire.
Il y aura environ 40 Go de données par an à venir (dans le format de texte ci-dessus), et les données seront recherchées par DataSite, Parameter et Date. La quantité de données entrant quadruplera très probablement dans un an environ.
Des bonnes idées? Merci, James
modifier: Il s'agit de données de séries chronologiques, les colonnes étant des mesures à différentes longueurs d'onde. Les données devront être analysées dans une gamme relativement étroite de longueurs d'onde. Il pourrait également y avoir des longueurs d'onde supplémentaires ajoutées à un moment donné dans le futur.
edit: Merci pour les réponses, je l'apprécie vraiment :) Je pense que je peux probablement trouver le temps d'exécuter quelques expériences avec environ 500 Go de données de test. Je reviendrai avec toutes les conclusions;)