Taula de continguts:
Definició: què significa aïllament?
L’aïllament, en el context de bases de dades, especifica quan i com els canvis implementats en una operació es fan visibles a altres operacions paral·leles. L’aïllament de les transaccions és una part important de qualsevol sistema transaccional. Es tracta de la coherència i la exhaustivitat de les dades recuperades per consultes que no afecten les dades d'un usuari per altres accions de l'usuari. Una base de dades adquireix bloquejos de dades per mantenir un alt nivell d’aïllament.La Techopedia explica l’aïllament
Es defineixen diversos nivells d’aïllament per controlar el grau de bloqueig de dades. Un elevat nivell d'aïllament podria provocar el bloqueig de despeses generals del sistema per crear punt morts. Els quatre nivells principals d’aïllament són: Lectura sense compromís: aquest nivell tracta de lectures brutes, on les dades de lectura no són coherents amb altres parts de la taula o de la consulta i no es compromet. Aquí les dades es llegeixen directament dels blocs de taula sense cap verificació, validació i processament. Per tant, les dades són tan brutes com poden ser. Llegit compromès: En aquest cas, les files que torna una consulta són les files ja comeses quan es va iniciar la consulta. A mesura que es finalitzi el compromís abans de començar la consulta, el resultat no es mostra a la sortida de la consulta. Llegit repetit: Les files retornades per una consulta en aquest cas es cometen quan es va iniciar la transacció. Els canvis realitzats no estan presents a la transacció i, per tant, no apareixen al resultat de la consulta. Serialitzables: En aquest nivell, les transaccions es produeixen de forma totalment aïllada, de forma seriosa una després de l’altra. De vegades, bases de dades com Oracle i Postgre SQL de vegades no garanteixen l’ordenació en sèrie de les transaccions, però sí que donen suport a l’aïllament de la instantània on totes les lectures d’una transacció són instantànies consistents de la base de dades i els compromisos de transacció només si cap actualització produeix conflictes amb altres actualitzacions concurrents realitzades des de la instantània. Les anomalies permeses pels aïllaments de captura de pantalla poden provocar una violació de la consistència de les dades entrellaçant transaccions que mantenen la coherència. Aquestes anomalies es poden eliminar introduint conflictes d’actualització o bloqueig artificial. Totes les bases de dades permeten als usuaris establir els seus nivells d’aïllament predeterminats. Els nivells perfectes d’aïllament escollits impedeixen que les aplicacions introdueixin errors com ara lectures brutes, lectures repetibles i lectures fantasmes. Quan la primera transacció llegeix canvis no compromesos realitzats per la segona transacció, dóna lloc a lectures brutes. Quan una lectura de dades continua igual si es torna a llegir durant la mateixa transacció, es pot repetir. Les lectures fantasma es produeixen quan s’afegeixen registres nous afegits per transaccions abans de la inserció. Els diferents nivells d’aïllament dels bloqueigs de base de dades que tenen a l’abast són: Locks de lectura: Els bloquejos de lectura impedeixen canviar les dades llegides durant una transacció fins que la transacció finalitzi eliminant casos de lectures repetibles. Altres transaccions poden llegir aquestes dades, però no es proporciona accés a escriptura ni canvi. Panys d’escriptura: els panys d’escriptura impedeixen que altres transaccions canvien dades fins que s’acabi la transacció. Panys d’escriptura exclusius: el bloqueig d’escriptura exclusiu impedeix que altres transaccions llegeixin o modifiquin dades fins que finalitzi la transacció actual. Captura de pantalla: una instantània és una vista congelada de les dades quan s’inicia la transacció. Evita les lectures brutes, les lectures no repetibles i les lectures fantasmes. Aquesta definició es va escriure en el context de Bases de dades









