Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El aislamiento es una parte importante de la propiedad ACID que garantiza que las
transacciones sean fiables. Esto permite que las transacciones que se ejecutan
simultneamente no interfieran con otras, garantizando la integridad de los
datos, al no existir aislamiento en una transaccin podra modificar los datos que
otra transaccin est leyendo, por lo que se crea una inconsistencia cuando se
crean datos.
Ahora que entendemos que es el aislamiento en trminos generales, vamos a
conocer cules son los niveles de aislamiento, estos determinan como las
transacciones se comportan con otras transacciones, es como ser ms o menos
restrictivo. Escoger cual es el mejor nivel depende de las necesidades de la
aplicacin, primero debe entender cules son los beneficios y consecuencias de
cada una de ellas.
READ UNCOMMITTED: Leen valores modificados por otras transacciones
no persistidos (commitados).
READ COMMITTED: No dejan leer valores modificados por otras
transacciones no persistidos (commitados). READ COMMITTED al releer
datos que se han comitado por otra transaccin durante la ejecucin de la
propia; obtiene valores diferentes.
READ_COMMITTED_SNAPSHOT: Evita el problema del READ
COMMITED. Crea un estado en la base de datos; de esta manera la
transaccin lee los datos referidos a ese estado. No impide que otras
transacciones modifiquen los datos ledos por la nuestra.
REPEATABLE READ: Evita el problema del READ COMMITED.
REPEATABLE READ evita que otra transaccin modifique los datos
modificados por nuestra transaccin. Dado que los datos ledos; pueden
depender de lo realizado en la otra transaccin.
SERIALIZABLE: REPEATABLE READ que adems se extiende para
inserciones.