À retenir
- C'est l'assurance que les copies d'une donnée sont identiques.
- Essentiel pour éviter les erreurs de lecture d'informations périmées.
- C'est un pilier de l'intégrité des données dans les systèmes complexes.
La cohérence est la capacité d'un système informatique à garantir que toutes les versions d'une même donnée sont identiques, peu importe l'endroit où elles sont stockées ou consultées. Imaginez un document partagé : si un collaborateur modifie une phrase, la cohérence assure que tous les autres voient immédiatement la nouvelle version et non l'ancienne.
Étymologie
Vient du latin cohaerentia, signifiant « l'état de ce qui est lié ensemble ». En informatique, le terme a évolué pour désigner la synchronisation logique des informations à travers des réseaux, des mémoires caches ou des bases de données réparties.
Exemples d'usage
- Synchronisation Cloud : Quand vous ajoutez un contact sur votre smartphone et qu'il apparaît instantanément sur votre tablette.
- Caches processeurs : Dans un ordinateur multi-cœur, s'assurer que chaque cœur de calcul utilise la valeur la plus récente d'une variable stockée en mémoire.
- Bases de données bancaires : Garantir que le solde de votre compte est le même, que vous l'interrogiez via une application mobile ou au guichet d'une banque.
Cas d'usage
Ce concept est fondamental dans les systèmes distribués (plusieurs serveurs travaillant ensemble), le développement d'applications temps réel et la gestion du matériel informatique (architectures multi-cœurs). Il intervient dès qu'une donnée doit être dupliquée pour des raisons de performance ou de sécurité.
Bonnes pratiques
Il est crucial de choisir le bon niveau de cohérence selon le besoin : une cohérence « forte » (mise à jour immédiate partout) garantit la précision mais peut ralentir le système, tandis qu'une cohérence « éventuelle » (mise à jour progressive) privilégie la vitesse. En programmation, utilisez des mécanismes de verrouillage (locks) ou des transactions pour éviter que deux processus ne modifient la même donnée de façon désordonnée.
Synonymes
Antonymes
Conseil
Si vous débutez en base de données, renseignez-vous sur le théorème CAP (Cohérence, Disponibilité, Tolérance au partitionnement). Il explique pourquoi, dans un système en réseau, on est souvent obligé de faire un compromis entre la vitesse et la cohérence absolue.
Questions fréquentes
C'est quoi la cohérence éventuelle ?
C'est un modèle où l'on accepte que les données soient temporairement différentes entre les copies, avec la garantie qu'elles finiront par devenir identiques après un certain temps.
Pourquoi ne pas toujours choisir une cohérence maximale ?
Parce que synchroniser parfaitement des milliers de serveurs prend du temps et peut paralyser une application si la connexion réseau est lente.