Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tercer Cuatrimestre
Grupo: 2
Lugar: Tlacotepec
Propiedades de transacciones
Identificar las propiedades de transacciones en Bases de Datos: - Atomicidad. -
Coherencia. - Aislamiento. - Durabilidad.
Las propiedades de transacciones en bases de datos se conocen como las propiedades
ACID, que son un conjunto de características que aseguran la integridad y la consistencia
de las transacciones en un sistema de gestión de bases de datos. Estas propiedades son:
Atomicidad (Atomicity): Esta propiedad asegura que una transacción se trata como una
unidad indivisible de trabajo. Esto significa que una transacción se completa en su
totalidad o no se realiza en absoluto. Si ocurre algún fallo durante la ejecución de la
transacción, se revierten todos los cambios realizados hasta ese momento, garantizando
que la base de datos no quede en un estado inconsistente.
Durabilidad (Durability): La propiedad de durabilidad garantiza que una vez que una
transacción se completa con éxito, sus cambios persistirán en la base de datos incluso en
caso de fallo del sistema, como un apagón o un reinicio. Esto se logra mediante la
escritura de los cambios en almacenamiento persistente, como discos duros, de manera
que los cambios sobrevivan a eventos adversos.
Lectura Confirmada (Read Committed): En este nivel de aislamiento, una transacción solo
puede ver los cambios confirmados por otras transacciones. Los cambios realizados por
una transacción no se vuelven visibles para otras transacciones hasta que se confirme la
transacción. Sin embargo, pueden surgir problemas de lectura sucia, donde una
transacción puede leer datos que luego son revertidos por otra transacción antes de
confirmarse.
Lectura No Confirmada (Read Uncommitted): En este nivel, una transacción puede leer
datos modificados por otras transacciones incluso antes de que se confirmen. Esto
permite una mayor concurrencia, pero puede dar lugar a problemas de lectura sucia y
lectura inconsistente, ya que los datos pueden cambiar antes de que se confirmen.
Lectura Repetible (Repeatable Read): En este nivel, una transacción garantiza que los
datos leídos no cambiarán durante el transcurso de la transacción. Esto evita problemas
de lectura sucia y garantiza cierto nivel de consistencia. Sin embargo, pueden surgir
problemas de phantom reads, donde una transacción puede ver filas adicionales que
aparecen debido a las inserciones realizadas por otras transacciones.
Serializable: Este es el nivel de aislamiento más estricto. Garantiza que las transacciones
se ejecuten como si fueran secuenciales, evitando cualquier interferencia entre ellas. Esto
elimina problemas de lectura sucia, lectura inconsistente y phantom reads, pero puede
afectar el rendimiento debido a la limitación de la concurrencia.
Características
Lectura Confirmada (Read Committed):
Lectura sin bloqueo: Las transacciones en este nivel no bloquean las lecturas realizadas
por otras transacciones en curso.
Evita lecturas sucias: Las lecturas no mostrarán datos que se encuentran en proceso de
modificación por otras transacciones.
Puede haber lecturas inconsistentes: Debido a que los datos pueden cambiar antes de
que se complete la transacción, las lecturas de múltiples partes de la misma transacción
pueden no ser coherentes entre sí.
Lectura No Confirmada (Read Uncommitted):
Máxima concurrencia: Las lecturas no bloquean nada, lo que permite un alto nivel de
concurrencia entre transacciones.
Lecturas sucias posibles: Las transacciones pueden leer datos modificados por otras
transacciones que aún no se han confirmado, lo que puede llevar a inconsistencias en los
datos.
Menos consistencia: Dado que las lecturas pueden mostrar datos en proceso de cambio,
la consistencia puede verse comprometida.
Lectura Repetible (Repeatable Read):
Consistencia de datos: Las transacciones garantizan que los datos leídos no cambiarán
durante el transcurso de la transacción.
Evita lecturas sucias: Las lecturas no mostrarán datos en proceso de modificación por
otras transacciones.
Posibles phantom reads: Aunque se evitan las lecturas sucias, las inserciones realizadas
por otras transacciones pueden llevar a la aparición de nuevas filas en las lecturas
repetibles.
Menos concurrencia: Bloquea las lecturas y las escrituras, lo que puede afectar el
rendimiento en sistemas de alta concurrencia.
Serializable: