Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/11/2006, 12h33   #1
Membre régulier
 
Inscription : juin 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 260
Points : 92
Points : 92
Par défaut nombre de lignes potentiellement enorme => pb ?

Bonjour,

Je suis actuellement en train de développer une application ou je dois récuperer l'état d'un objet pour chaque secondes passée, cet état est en fait un nombre composé de 3 chiffres.

Le problème ? En comptant chaque jour, chaque minute, chaque seconde, on est à 86 400 états par jour, ce qui représente, pour une 50 aine d'objets par exemple 4 320 000 états par jour...

Alors sur l'année... je n'ose même pas imaginer...

Donc ma question : c'est dangereux un peu non ?

Et ma seconde question, puis-je trouver une autre solution ?
Croyez vous que cela serait mieux de stocker une minute; et pour chaque minute, 60 états separés par une virgule (un VARCHAR suffirait à tous les stocker)... Cela diminuerait le nombre de lignes dans la base mais il resterait malgré tout assez elevé... (plusieurs millions facilement)

Qu'en pensez vous ? Merci de vos avis.
RR instinct est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 13h18   #2
Membre expérimenté
 
Étudiant
Inscription : mars 2006
Messages : 396
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 396
Points : 500
Points : 500
Si l'état de l'objet ne change pas à chaque seconde,
tu peux stocker un nouvel état que lorsque l'état de l'objet a changé.
jeremya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 13h24   #3
Membre régulier
 
Inscription : juin 2005
Messages : 260
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 260
Points : 92
Points : 92
il ne change pas forcement mais il est la plupart du temps plutot inconstant
RR instinct est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/11/2006, 13h25   #4
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Bonjour,

Je pense qu'il y a des questions à régler en amont avant d'opter pour telle ou telle solution.
Est-il obligatoire de stocker autant de valeurs ? Est- ce qu'on va les consulter ou faire des recherches dessus ? Doivent-elles être stockées ad vitam eternam ? Quels traitements vont être appliqués sur ces données ? ...
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 10h03   #5
Membre du Club
 
Inscription : septembre 2006
Messages : 72
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 72
Points : 55
Points : 55
Sinon tu n'a qu'a enregistrer le nouvel état seulement lorsqu'il a changé, et tu stockes aussi la date d'enregistrement. Comme ca tu peux faire un historique potable (tel objet a changé d'état à tel moment) et en plus tu diminues de façon notable le nombre d'enregistrements.

Pour un historique sur une année, la solution consisterait à faire la moyenne des états de tes objets sur une minute ou sur une heure, pour réduire le nombre d'enregistrements. Tout dépend de la néccessité de ces informations.
big_ben3333 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2006, 11h14   #6
Membre éprouvé
 
Inscription : février 2003
Messages : 547
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 547
Points : 486
Points : 486
Bonjour,

Pour résumer

Le problème est une question de taille des données.
Cette taille peut prendre une grande taille disque, et surtout un grand temps d'aces.
Il faut donc réduire les données.
1° en détruisant les données qui ne sont plus utiles.
2° En n'enregistrant que ce qui est utile
3° en comprimant les données

Pour comprimé les données vous pouvez n'enregistrer que les modifications des données et/ou choisir un format de donnée prenant le moins de place possible.

Personellment je travaille en delphi. En Delphi j'essayerai de stoker les données dans un objet mémoire intermédaire, de les traiter tous les x secondes (toutes les heures par exemple) pour avoir un fichier stream a sauver, puis a sauver le tout dans champs blob. Donc 1 enregistrement par heure avec toutes les compression que je peux imaginer.
Le problème et, que voulez vous fair avec ces données. Le compresser implique de les decompresser pour les utiliser. du coup mas solution peut être tres malcomode.
Tardiff Jean-François est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h44.


 
 
 
 
Partenaires

Hébergement Web