Bonjour,
Je suis actuellement en train de travailler sur un système d'historisation de données.
La façon dont est construit la solution me laisse 2 solutions :
- Utiliser le programme C++ qui alimente la base et ajouter une comparaison de données pour générer l'historique.
- Utiliser un trigger qui génère l'historique pour chaque nouvelle données inséré.
Pour simplifier j'ai en gros 2 algo :
1. Récupération de tous les défauts actuellement en base
2. Début de transaction (BEGIN)
3. Suppression de tous les défauts en base
4. Scan de tous le systèmes
5. Ajouts des défauts en base
6. Comparaison des défauts précédemment récupéré (étape 1) et ceux qui viennent d'être récupérés
7. Mise à jour de l'historique
8. Fin de transaction (COMMIT)
Ou
1. Début de transaction (BEGIN)
2. Suppression de tous les défaut en base
3. Scan de tous le systèmes
4. Ajouts des défauts en base
5. Fin de transaction (COMMIT)
6. Lancement des triggers qui mettent à jour la BDD pour générer l'historique
De mon point de vue la 2ème solution surtout pour les deux points suivant :
- On garde la gestion de données en interne dans la base, mise à part pour l'insertion (mais la pas le choix)
- Ca évite de toucher le programme qui se charge de la récupération des données
Mais quand est-il au niveau des performances ? Ou d'autre paramètre que je n'aurai pas en tête ?
Bon Week-end
Partager