À retenir
- L'opération est insécable : elle ne peut pas être interrompue à moitié.
- Elle garantit que le système reste dans un état cohérent.
- C'est une protection essentielle contre les plantages et les accès simultanés.
L'atomicité est la propriété d'une opération informatique qui s'exécute d'un seul bloc, de manière indivisible. C'est le principe du « tout ou rien » : soit l'action se termine avec succès, soit elle échoue complètement sans laisser de modifications partielles ou brouillonnes derrière elle.
Étymologie
Dérivé du grec atomos signifiant « que l'on ne peut diviser ». En informatique, ce terme a été adopté pour décrire des séquences d'instructions qui doivent être traitées comme une unité unique pour garantir la cohérence des données.
Exemples d'usage
- Un virement bancaire : Le retrait d'argent sur un compte et son dépôt sur un autre doivent être atomiques. Si le système plante au milieu, l'argent ne doit pas avoir disparu du premier compte sans être arrivé sur le second.
- Une mise à jour de stock : Lors d'un achat en ligne, décrémenter le stock et créer la commande doit se faire en une seule étape logique.
Cas d'usage
Ce concept est fondamental dans les bases de données (le 'A' des propriétés ACID) et en programmation concurrente (multithreading), où l'on veut éviter que deux processus ne modifient la même variable simultanément de façon désordonnée.
Bonnes pratiques
Pour garantir l'atomicité, utilisez des transactions en SQL ou des mécanismes de verrouillage comme les mutex en programmation. Veillez à ce que les blocs atomiques soient les plus courts possibles pour éviter de ralentir le système (blocage des autres tâches).
Synonymes
Antonymes
Conseil
Quand vous concevez une application, identifiez toujours les étapes qui ne doivent jamais être séparées. Si une erreur survient au milieu de ces étapes et que vous n'avez pas prévu d'atomicité, vous risquez de corrompre vos données de façon permanente.
Questions fréquentes
Qu'est-ce qu'un rollback ?
C'est l'action d'annuler toutes les modifications d'une opération atomique si une erreur survient, pour revenir à l'état initial.
Toutes les opérations de programmation sont-elles atomiques ?
Non, une simple ligne de code comme 'x = x + 1' nécessite souvent plusieurs étapes pour le processeur et n'est pas atomique par défaut.