Bonjour,
je dois faire des calculs statistiques à partir de données en base et ne sais pas trop comment m'y prendre:
J'ai une table composée de 10000 appareils electriques (num_appareil).
chaque appareil subit un grand nombre d'évènements dans une journée (état modifié, intervention d'un opérateur...).
=> Objectifs :
Connaître le nombre d'évènements subis par un appareil pendant une période donnée. (je dois connaître la date et l'heure exactes de chaque évènement).
Pouvoir comparer ce nombre avec celui d'une autre période ou d'un autre appareil.
Afficher dans une IHM ces comparaisons. (ce qui sous entend avoir un historique du nombre d'évenements sur une longue période).
Or, chaque appareil peut subir 2000 opérations en une journée. ce qui fait pour mes 10 000 appareils environ 20 000 000 d'évènements traités par jour, soit 20 000 000 de mises à jour de compteurs dans une table de stats (update en temps reel) et 20 000 000 de requêtes d'affichage dans l'IHM.
Je voudrais optimiser tout cela en affichant les stats dans l'ihm non pas en temps réel mais en affichant les évènements cumulés sur une heure.
Est-il judicieux de créer des fonctions qui incrémentent un compteur et d'inserer la valeur du compteur une fois par heure dans la table stats (=> MAJ moins frequente)?
Ou puis-je simplement continuer un update en temps reel dans la base et faire une requête de selection une fois par heure pour un affichage dans l'IHM ?
Dois-je faire les deux?
Avez-vous des idées?
Merci beaucoup pour votre aide