La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Paul Leger http://pleger.cl Transacciones Paul Leger http://pleger.cl.

Presentaciones similares


Presentación del tema: "Paul Leger http://pleger.cl Transacciones Paul Leger http://pleger.cl."— Transcripción de la presentación:

1 Paul Leger http://pleger.cl
Transacciones Paul Leger

2 Transacciones Definición informal:
Un conjunto de operaciones, las cuales todas deben ser ejecutadas o ninguna El concepto de transacción es ampliamente usado en computación, aquí es usado en el área de base de datos

3 Antes de continuar … unos conceptos necesarios

4 Multiusuario y Monousuario Sistemas
Monousuario: Sistemas que pueden ejecutar un programa a la vez No necesariamente significa que un solo usuario (cómo usted) usa el computador Multiusuarios: Sistemas operativos modernos puede ejecutar programas de manera concurrente (ej. Google Chrome y Power Point) En sistemas concurrentes, problemas pueden aparecer cuando dos programas intentan acceder al mismo recurso de manera paralela (más información: sistemas operativos) Ejemplos de recursos compartidos: archivos, tarjeta de video/audio, registro de base de datos, etc Teóricamente un procesador (mono núcleo) solo puede ejecutar un programa al mismo tiempo, ¿cómo ejecuta dos programas de manera concurrente? ¿Qué sucede con los procesadores con varios núcleos?

5 Multiusuarios y transacciones en este curso
Multi-usuario: Varios transacciones de manera concurrente desean acceder a un registro Transacciones: Secuencia de escrituras/lecturas y operaciones sobre un conjunto de registros de una base de datos

6 Ejemplo de transacciones concurrentes
Transacciones A, B, C y D

7 Lectores y Escritores Considere las siguientes transacciones:

8 Problemas con concurrencias en transacciones (1/2)
Esto se pierde por lo de abajo

9 Concurrencias y transacciones
“Cuando hay transacciones ejecutandose en concurrencia, las interrupciones de ellas puede generar resultados indeseados ” Entonces, si dos transacciones escriben el mismo valor, su concurrencia puede afectar el resultado final

10 Problemas con concurrencias en transacciones (2/2)
Este escritura depende de una transacción que fallo Si la otra transacción falla, entonces esta transacción deja la base de datos inconsistente

11 Concurrencias y transacciones
“Cuando hay transacciones ejecutandose en concurrencia, se crean dependencias entre transacciones” Entonces, si una transacción falla, las otras transacciones pueden fallar también

12 Fallos en transacciones
Caída en sistemas Un error en la ejecución de una transacción Ejemplo: Operaciones matemáticas que pueden fallar Un error en las condiciones de una transacción Ejemplo: Aborto de una transacción por el cliente o por el saldo insuficiente Fallo del disco Otros problemas catastróficos Ejemplo: incendio y ataques terroristas Imposición de control de concurrencia Ejemplo: Si una transacción no cumple con cierto plan de concurrencia, esta puede ser abortada

13 Etapas de una transacción
Inicio transacción Leer o Escribir registro y algunas operaciones Fin transacción Luego Confirmar Transacción Abortar => revertir (potencialmente) la transacción

14 Ciclo de Vida de una Transacción

15 Log (bitácora) de transacciones
En sistemas de gestión de base de datos y en otros sistemas, existen un sistemas de bitácora (conocido como system log) En SGBD, los sistemas de Log registra cada movimiento que pasa, es decir, inserciones/eliminaciones/actualizaciones de una BD. Por ejemplo: [12323, x, 20, 30, pleger] Este sistema es usado para: Encontrar responsables Ver como un sistema de base datos evoluciona Ver cuando una transacción comienza y termina Para saber como deshacer una operación y/o una transacción completa

16 Punto de confirmación (checkpoint) de una transacción
Cuando una transacción termina satisfactoriamente, debe emitirse el evento de termino de confirmación que es escrito en el sistema log Este evento significa que todas las operaciones de una transacciones se han escrito/asentado correctamente en la base de datos Cuando el sistema se cae, se observa todas las transacciones que iniciaron y no terminaron y estas transacciones deshacen sus operaciones sin completar OJO: Aquí se pueden deshacer otras transacciones ya confirmadas por su dependencias

17 Checkpoint ¿Qué transacciones quedan asentadas en base de dato?

18 Dependencia entre transacciones
Considere una transacción A que confirmo, pero por su ejecución concurrente con una transacción B, la cual aborta, puede genera deshacer y rehacer A Cada cierto tiempo se crea un punto de control, el sistema asegura que todas las transacciones confirmadas no deberán rehacer por la falla de otras Para crear un punto de control, se esperan que las transacciones pendientes terminen (se asegura que no hay nada pendiente) Los puntos de control se crean cada n minutos o m transacciones, el cual es representado por plan de transacciones

19 ACID: propiedades de una transacción T
Atomicidad: T es indivisible, T se ejecuta completa o ninguna operación de ella Conservación de la base de datos: T debe llevar de un estado consistente a otro estado consistente en la BD Aislamiento: T debe ejecutarse sin considerar los efectos de otra transacción, es decir, cada transacción es independiente Durabilidad: Toda T confirmada debe ser escrita en una base de datos y potencialmente no perderse en el futuro

20 Planes y Recuperabilidad
Plan actúa sobre un conjunto de transacciones para determina un orden de como se ejecuta todas las operaciones de las transacciones

21 Expresando Planes Pc: l1(x), l2(x), e1(x), l1(y), e2(x), c1, e1(Y), c2
¿No hay eventos de inicio1 y inicio2?

22 Operaciones en Conflictos
Dos operaciones están conflictos si: Pertenecen a transacciones distintas Una de ellas es una escritura Ejercicio: l1(x), l2(x) ? l1(x), e2(x) ? e1(x), e1(x) ?

23 Plan Completo Un plan está completo si:
Incluye todas las operaciones de las transacciones Las operaciones de una transacción no están alteradas en su orden Para dos operaciones en conflicto, se debe especificar claramente qué operación se ejecuta primero


Descargar ppt "Paul Leger http://pleger.cl Transacciones Paul Leger http://pleger.cl."

Presentaciones similares


Anuncios Google