Chapitre 6. Transactions et verrouillage
L'utilisation de verrous pour l'isolation des transactions est un pilier des bases de données SQL - mais c'est aussi un domaine qui peut causer beaucoup de confusion, en particulier pour les nouveaux venus. Les développeurs pensent souvent que le verrouillage est un problème de base de données et qu'il appartient au domaine des administrateurs de bases de données. Les administrateurs de bases de données, quant à eux, pensent qu'il s'agit d'un problème d'application et qu'il relève donc de la responsabilité des développeurs. Ce chapitre clarifiera ce qui se passe dans les situations où différents processus essaient d'écrire dans la même ligne en même temps. Il fera également la lumière sur le comportement des requêtes de lecture à l'intérieur d'une transaction avec les différents types de niveaux d'isolation disponibles dans MySQL.
Tout d'abord, définissons les concepts clés. Une transaction est une opération effectuée (à l'aide d'une ou plusieurs instructions SQL) sur une base de données en tant qu'unité logique unique de travail. Toutes les modifications des instructions SQL dans une transaction sont soit validées (appliquées à la base de données), soit annulées (défaites de la base de données) en tant qu'unité, jamais seulement partiellement. Une transaction de base de données doit être atomique, cohérente, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access