Seul

Définition - Que signifie l'isolement?

L'isolement, dans le contexte des bases de données, spécifie quand et comment les modifications implémentées dans une opération deviennent visibles pour d'autres opérations parallèles. L'isolement des transactions est un élément important de tout système transactionnel. Il traite de la cohérence et de l'exhaustivité des données récupérées par des requêtes sans affecter les données d'un utilisateur par d'autres actions de l'utilisateur. Une base de données acquiert des verrous sur les données pour maintenir un haut niveau d'isolation.

Definir Tech explique l'isolement

Un certain nombre de niveaux d'isolement sont définis pour contrôler le degré de verrouillage des données. Un niveau élevé d'isolation peut entraîner une surcharge de verrouillage pour le système, créant des blocages. Les quatre principaux niveaux d'isolation sont: Lecture non validée: ce niveau traite des lectures modifiées, où les données lues ne sont pas cohérentes avec d'autres parties de la table ou de la requête et ne sont pas validées. Ici, les données sont lues directement à partir des blocs de table sans aucune vérification, validation et traitement. Par conséquent, les données sont aussi sales que possible. Lecture validée: dans ce cas, les lignes renvoyées par une requête sont des lignes déjà validées au démarrage de la requête. Comme la validation est terminée avant le démarrage de la requête, le résultat n'est pas affiché dans la sortie de la requête. Lecture répétée: les lignes renvoyées par une requête dans ce cas sont validées au démarrage de la transaction. Les modifications apportées ne sont pas présentes dans la transaction et n'apparaissent donc pas dans le résultat de la requête. Sérialisable: à ce niveau, les transactions se produisent de manière complètement isolée, en série les unes après les autres. Les bases de données telles qu'Oracle et Postgre SQL ne garantissent parfois pas l'ordre en série des transactions, mais prennent en charge l'isolement d'instantané où toutes les lectures d'une transaction sont des instantanés cohérents de la base de données et les transactions ne sont validées que si aucune mise à jour ne produit de conflits avec d'autres mises à jour simultanées effectuées depuis l'instantané. Les anomalies permises par les isolements d'instantanés peuvent conduire à une violation de la cohérence des données par entrelacement de transactions qui maintiennent la cohérence. Ces anomalies peuvent être éliminées en introduisant des conflits de mise à jour ou un verrouillage artificiel. Toutes les bases de données permettent aux utilisateurs de définir leurs niveaux d'isolation par défaut. Les niveaux d'isolation parfaits choisis empêchent les applications d'introduire des erreurs telles que des lectures incorrectes, des lectures répétables et des lectures fantômes. Lorsque la première transaction lit des modifications non validées effectuées par la deuxième transaction, cela donne lieu à des lectures incorrectes. Lorsqu'une lecture de données reste la même si elle est relue au cours de la même transaction, il s'agit d'une lecture répétable. Les lectures fantômes se produisent lorsque de nouveaux enregistrements ajoutés sont signalés par des transactions avant l'insertion. Les différents niveaux d'isolation des verrous de base de données traités sont les suivants: Verrous de lecture: les verrous de lecture empêchent la modification des données lues pendant une transaction jusqu'à la fin de la transaction, éliminant ainsi les cas de lectures répétables. D'autres transactions peuvent lire ces données mais aucun accès en écriture ou en modification n'est fourni. Verrous d'écriture: les verrous d'écriture empêchent d'autres transactions de modifier les données jusqu'à la fin de la transaction. Verrous d'écriture exclusifs: le verrouillage d'écriture exclusif empêche les autres transactions de lire ou de modifier des données jusqu'à la fin de la transaction en cours. Instantanés: un instantané est une vue figée des données lorsque la transaction démarre. Il empêche les lectures sales, les lectures non répétables et les lectures fantômes. Cette définition a été écrite dans le contexte des bases de données