Sei sulla pagina 1di 4

AISLAMIENTO.

Daniel Jonathan Hernández Pérez


UPSLP
Contenido
Características del ACID. ..................................................................................................................... 2
Atomicidad. ..................................................................................................................................... 2
Consistencia. ................................................................................................................................... 2
Aislamiento. .................................................................................................................................... 2
Durabilidad. ..................................................................................................................................... 2
Niveles de aislamiento en PostgresSQL. ............................................................................................. 2
Lectura sucia.................................................................................................................................... 2
Lectura No Repetible. ...................................................................................................................... 2
Lectura fantasma............................................................................................................................. 2
Serialización..................................................................................................................................... 3
Características del ACID.
En 1970, Jim Gray definió las propiedades que necesitaba tener una transacción confiable, y
desarrolló tecnologías para automatizarlas. Más tarde, en 1983, Andreas Reuter y Theo Härder
crearon el término "ACID" para describir estas 4 propiedades.

Atomicidad.
o Define que cuando se realice una transacción sea todo o nada.

Consistencia.
o Se asegura que cualquier transacción llevará a la base de datos de un estado
válido a otro estado válido.

Aislamiento.
o Se asegura que la ejecución concurrente de las transacciones resulte en un estado
del sistema que se obtendría si estas transacciones fueran ejecutadas una atrás de
otra

Durabilidad.
o Significa que una vez que se confirmó una transacción (commit), quedará
persistida, incluso ante eventos como pérdida de alimentación eléctrica, errores y
caídas del sistema.

Niveles de aislamiento en PostgresSQL.


Lectura sucia.
o Una transacción lee datos escritos por una transacción no confirmada
concurrente.
o Cuando la transacción 1 modifica un registro en la tabla Customer, la transacción 2
lo lee con las modificaciones, y luego la transacción 1 hacer un rollback,
descartando las modificaciones.

Lectura No Repetible.
o Se valida que los datos previamente leídos no tienen modificaciones desde la
lectura inicial.
o Por ejemplo, si la transacción 1 lee el registro Customer {Id = 1, Name = 'Paco'}, la
transacción 2 modifica ese registro y realiza el commit, y la transacción 1 lo vuelve
a leer, los datos que obtendrá son diferentes de los que obtuvo al principio.

Lectura fantasma.
o Una transacción vuelve a ejecutar una consulta que devuelve un conjunto de filas
que satisfacen una condición de búsqueda y descubre que el conjunto de filas que
cumple la condición ha cambiado debido a otra transacción recientemente
confirmada.
o Si la transacción 1 consulta los clientes de Madrid y obtiene 10 filas, a
continuación, la transacción 2 inserta un nuevo cliente también de Madrid y hace
su commit, y la transacción 1 vuelve a consultar clientes de Madrid obteniendo 11
filas.

Serialización.
o El resultado de confirmar con éxito un grupo de transacciones es inconsistente
con todos los posibles pedidos de ejecución de esas transacciones, uno a la vez.
o Solamente pueden ser vistas las filas de una consulta que ya hayan sido
confirmadas.

Potrebbero piacerti anche