À retenir
- Indique une impossibilité technique de faire un « retour arrière » (rollback) propre.
- Provient souvent d'une mauvaise gestion de l'ordre des opérations entre plusieurs utilisateurs.
- Entraîne des risques majeurs d'incohérence et de corruption des données.
Une exécution non recouvrable désigne une situation dans une base de données où une erreur survient, mais il est impossible d'annuler les changements pour revenir à l'état initial sans corrompre les données. C'est un peu comme si vous peigniez un mur en vous appuyant sur une échelle instable : si l'échelle tombe (panne), la peinture est déjà étalée et on ne peut pas simplement l'effacer pour retrouver le mur d'origine.
Étymologie
Composé de « exécution » (du latin exsequi, accomplir) et de « non recouvrable » (du latin recuperare, retrouver). En informatique, cela désigne l'incapacité du système à restaurer un état cohérent après un échec technique.
Exemples d'usage
- Une transaction A modifie le prix d'un article, puis une transaction B utilise ce nouveau prix pour éditer une facture. Si la transaction A échoue finalement, on ne peut plus l'annuler car la facture de B est déjà basée sur une donnée qui n'aurait jamais dû exister officiellement.
- L'écriture de données sur un support physique qui ne supporte pas l'effacement ou le retour en arrière immédiat en cas d'interruption de courant.
Cas d'usage
Ce concept intervient principalement dans la gestion des bases de données et des systèmes de fichiers lors de la définition des protocoles de concurrence (gestion de plusieurs utilisateurs en même temps). Il est crucial pour garantir l'intégrité des informations.
Bonnes pratiques
Pour éviter ce problème, il faut respecter les propriétés ACID (Atomicité, Cohérence, Isolation, Durabilité). On utilise généralement des niveaux d'isolation stricts pour empêcher qu'une transaction puisse lire ou modifier des données qui n'ont pas encore été définitivement validées (commit) par une autre transaction.
Synonymes
Antonymes
Conseil
Si vous débutez en bases de données, étudiez le concept de « lecture sale » (dirty read). C'est souvent la cause principale d'une exécution non recouvrable. Apprenez à utiliser les commandes COMMIT et ROLLBACK avec soin.
Questions fréquentes
Pourquoi dit-on que c'est dangereux ?
Parce que si le système plante, vous vous retrouvez avec des données fausses ou incomplètes sans moyen automatique de les réparer.
Est-ce fréquent aujourd'hui ?
Non, les systèmes de gestion de bases de données modernes (comme PostgreSQL ou MySQL) possèdent des mécanismes de verrouillage pour empêcher ce genre de scénario par défaut.