clems07 a écrit :
Bonjour à tous!
Après plusieurs recherches sur le forum... je me lance à faire ce nouveau sujet.
Voila je dois concevoir une base de données qui est amenait à recueillir un nombre impressionant d'enregistrements...
En effet ce sont des valeurs mesurées par des stations météo...
Jusque la ca va... mais le souci c'est que certaines stations relevent des mesure toutes les minutes pendant plusieurs années... ce qui commence à faire énorme...
Je ne m'attarde pas pour le moment sur les objectifs de la base de données. (on verra plus tard si c'est vraiment necessaire!)
Ma question est plus générale:
Pour accéder a des données lorsqu'on en stock une masse impressionante, est-il plus judicieux de multiplier le nombre de tables contenant peu d'enregistrements ou de garder des tables avec plus de champs et d'enregistrements?
Sinon est ce que construire une base de donnees par année peu etre une bonne solution?
De se fait en terme de temps d'accé, quel est le moins couteux: l'ouverture de la base, la jointure entre 2 tables ou le balayage d'une table?
Merci de pouvoir m'éclaircir à ce sujet...
|
Conceptuellement, une table doit regrouper l'ensemble des enregistrements de même nature. Surtout qu'à chaque nouvelle table, la structure générale de la BDD s'alourdit "considérablement" (elle contient en interne la table des table, la table des colonnes, la table des index, etc et chaque nouvelle table rajoute des éléments à toutes ces tables internes).
Donc il vaut mieux une seule table pour tous tes enregistrements plutôt que plusieurs tables.
En ce qui concerne une bdd par années, ça ne dépend que de ton besoin. Si tes requêtes ne concernent qu'une seule année, ça ira. Mais si t'as besoin d'infos sur plusieurs années en même temps, tu seras obligé d'alourdir ton code pour tout récupérer.
T'en fais pas pour le volume des infos. Ca te semble peut-être énorme mais les BDD ont justement été créées pour stocker et rechercher des données en grand nombre. En un an il y a 525960 minutes et si chaque info fait 1/2ko (512 octets ce qui permet de stocker quand-même 64 valeurs au format "double" ), ton poids d'info pour un an ne sera que de 256Mo. Face à la puissance des disques qui travaillent en Go, c'est pas vraiment un poids énorme...
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.