Junior — Middle
Pourriez-vous expliquer ce que l'on entend par problème de lecture sale dans le contexte du travail avec des bases de données?
sobes.tech IA
Réponse de l'IA
Le problème de lecture sale (dirty read) se produit lorsqu'une transaction lit des données modifiées par une autre transaction, mais que ces modifications ne sont pas encore validées (commit). Si la deuxième transaction est annulée (rollback), la première transaction obtient des données incorrectes, "sales".
Par exemple :
- La transaction A modifie une valeur dans la base, mais ne fait pas de commit.
- La transaction B lit cette valeur modifiée.
- La transaction A est annulée, les modifications sont annulées.
En fin de compte, la transaction B opère avec des données qui en réalité n'existent pas dans la base, ce qui peut entraîner des erreurs et des incohérences.
Pour éviter la lecture sale, on utilise des niveaux d'isolation des transactions, par exemple, le niveau READ COMMITTED, qui interdit de lire des modifications non validées d'autres transactions.