Lexique informatique › Bases de données › Write skew

Write skew

Bases de données Svenska → Mis à jour: 2026-09-25

Anomalie de concurrence : deux transactions lisent des données qui se recoupent, mettent toutes deux à jour en fonction de ce qu'elles ont vu, et l'état final est invalide alors que chacune était isolée. L'isolation par snapshot l'autorise ; SERIALIZABLE la bloque.

Exemple classique : la règle d'un hôpital, « au moins un médecin de garde ». Tx1 : le médecin A vérifie s'il peut prendre congé — count(on_call) = 2 → oui. Tx2 : le médecin B fait de même — count = 2 → oui. Tous deux mettent on_call = false. Résultat : zéro médecin de garde. Les deux ont vu un état avec 2 médecins, leurs décisions étaient isolées, validées atomiquement — mais le résultat combiné est invalide. Parades : isolation SERIALIZABLE (SSI), verrous de ligne explicites (FOR UPDATE), validation de contraintes au niveau applicatif. Le SERIALIZABLE de PostgreSQL détecte le write skew et annule une transaction.

← Retour au lexique