Skip to main content

Qu'est-ce que l'isolement instantané?

L'isolement instantané est une propriété dans le traitement des transactions et les bases de données qui garantissent toutes les lectures effectuées dans une transaction Voir le même instantané de la base de données.Cela signifie que la transaction s'engagera à traiter avec succès la demande si ses mises à jour ne sont pas en conflit avec d'autres mises à jour simultanées.L'isolement instantané est un algorithme de contrôle pour la concurrence multi-version qui fournit des niveaux d'isolement qui évitent les problèmes qui se produisent couramment avec la concurrence.Cette isolation a été mise en œuvre par plusieurs serveurs de langage de requête structuré différents (SQL), fonctionnant avec un minimum d'anomalies de sérialisation.Les isolements d'instantané ne garantissent cependant pas une sérialisabilité complète dans un serveur.

De nombreux systèmes de gestion des données majeurs contiennent des niveaux d'isolement par défaut qui ne sont pas sérialisables et rencontrent souvent des anomalies de sérialisation sans isolation instantanée.Cela peut entraîner chaque jour de nombreuses occurrences d'erreurs d'isolement, ce qui peut entraîner la corruption des données, en particulier celle qui se trouve dans les applications d'entrepôt des données.La raison pour laquelle un système peut fonctionner dans cet état est que les applications qui fonctionnent sur des niveaux d'isolement plus bas peuvent améliorer l'efficacité si aucune erreur grave ne se produit.L'inclusion de l'isolement instantané dans un système réduit ces anomalies et mdash;lors du temps de fonctionnement et du montant des erreurs qui se produisent en compte et MDASH;augmente encore plus l'efficacité.

Certaines bases de données offrent un isolement d'instantané par opposition à la sérialisation complète, mais il existe également des anomalies qui peuvent se produire dans une base de données en utilisant ce type d'isolement.Ces anomalies peuvent entraîner des violations de cohérence des données car les transactions qui maintiennent la cohérence entrelacer ou sont organisées en couches alternées.La seule façon de résoudre le problème et d'empêcher des anomalies telles que celles-ci est de manipuler les applications avec une introduction de verrous artificiels et de mises à jour conflictuelles, qui ont été suivies par l'analyse des conflits entre chaque paire de transactions.Cependant, une façon différente de résoudre ces anomalies consiste à modifier les algorithmes du contrôle de concurrence d'un système de base de données pour effectuer des détections automatiques et des prévention des anomalies de l'isolement instantané au moment de l'exécution.Cela peut être fait pour des applications importantes ou arbitraires, mais fournit une isolation sérialisable.

Les nouveaux serveurs SQL ont pu introduire de nouveaux niveaux d'isolement ainsi que de nouveaux niveaux d'isolement instantané pour l'amélioration de la concurrence dans certaines applications.Lorsque les premières versions du serveur SQL ont utilisé le verrouillage comme base de la concurrence, l'isolement instantané dépend des améliorations du versioning de ligne destinées à l'amélioration des performances.Il améliore cette performance lorsqu'il rencontre des scénarios avec le blocage de lecture ou d'écriture en les évitant.