Transacciones Flashcards

1
Q

Definir transaccion

A

Una transaccion es una unidad de ejecucion de un programa que accede y posiblemente modifica elementos de una base de datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Propiedades ACID

A

Para asegurar la integridad de los datos, un sistema de base de datos debe asegurar las siguientes propiedades:

  • Atomicidad: se realizan todas las operaciones o ninguna
  • Consistencia: la ejecucion preserva la consistencia de la bases de datos
  • Aislamiento: El estado intermedio de una transaccion es invisible a otras transacciones, por lo que las transacciones (aunque sean concurrentes) siempre parecen estar serializadas.
  • Durabilidad: despues de que se comittea una transaccion, los cambios permanecen incluso si hay una falla en el sistema
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Estados de una transaccion

A
  • Activa: se esta ejecutando
  • Parcialemente comprometida: Despues de que se ejecuta la ultima instruccion
  • Comprometida: Se termino de ejecutar correctamente
  • Fallida: no se puede continuar la ejecucion normal
  • Abortada: se retrocede con la informacion en el estado en el que estaba en el momento previo a la ejecucion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Ventajas de la ejecucion concurrente

A
  • Mayor utilizacion del procesador y del disco
  • Reducir el primedio del tiempo de respuesta de las transaccions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Planificacion

A

Una planificacion especifica el orden en el que las instrucciones de una transaccion deben ser ejecutadas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Secuenciabilidad/seriabilidad

A

Una planificacion es secuenciable si es equivalente a una planificacion secuencial. Puede ser:

  • Seriabilidad en cuanto a conflicots
  • Seriabilidad en cuanto a vistas
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Seriabilidad en cuanto a conflictos

A

Dos instructions I_i e I_j de las transacciones Ti y Tj estan en conflico si y solo si, existe algun recurso Q accedido por ambas instrucciones y al menos una de ellas escribe en Q.

Si una planificacion P puede ser transformada en una planificacion P’ por una serie de intercambios en el orden de ejecucion de instrucciones que no entran en conflicto, se dice que P y P’ son equivalentes en cuanto a conflicto.

Una planificacion P se dice secuenciable en cuanto a conflicto si se puede transformar en una planificacion secuencial sin entrar en conflictos.

ES DECIR: Puedo transformar una planificacion P a una P’ (secuencial) sin tener que cambiar el orden de instrucciones que estan en conflicto entre si?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Recuperabilidad

A

En un sistema concurrente, si una transacción falla se debe deshacer los efectos de esta para asegurar la propiedad de Atomicidad. Para esto, también es necesario asegurar que toda transacción que dependa de la que fallo también debe abortarse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Planificacion recuperable

A

Una planificacion es recuperable si para todo par de transacciones Ti, Tj, tal que Tj lee datos previamente escritos por Ti, la operacion commit de Ti esta antes de la de Tj.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Planificacion sin cascada

A

Es aquella que para todo par de transacciones Ti, Tj, tal que Tj lee datos previamente escritos por Ti, el commit de Ti aparece previo a la lectura de Tj

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Niveles de consistencia en SQL

A

(1) Serializable: predeterminado
(2) Repeatable read: solo se leen registros committeados, y se lee el mismo valor si se repite la lectura
(3) Read committed: se leen solo los registros committeados, pero la lectura puede ir variando de resultado si hubo commits entre lectura y lectura
(4) Read uncommitted: permite leer registros no committeados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Problemas relacionados al nivel de aislamiento

A

(1) Lectura sucia: una transaccion T1 puede leer la actualización de T2 que todavía no ha confirmado. Si T2 aborta, T1 habría leído un dato incorrecto.

(2) Lectura no reproducible: Si una transaccion lee dos veces un mismo dato y en medio la transaccion lo modifica, vera valores diferentes

(3) Lectura fantasma: una transaccion T1 puede leer un conjunto de registros que cumplan una condicion. Si una transaccion T2 agrega un registro que tambien cumple la condicion y T1 repite la lectura, vera un registro que antes no existia

How well did you know this?
1
Not at all
2
3
4
5
Perfectly