La Transaccin' - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

La Transaccin'

Description:

Ejecuci n de un programa que lee y escribe datos a y desde la B. de D. ... escrituras) son llevados a cabo; deben aparecer en la misma secuencia en la que ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 17
Provided by: Ude9
Category:

less

Transcript and Presenter's Notes

Title: La Transaccin'


1
La Transacción.
  • John Freddy Duitama Muñoz.
  • Facultad de Ingeniería.
  • U.de.A.
  • 2001.

2
  • Transacción.
  • Ejecución de un programa que lee y escribe datos
    a y desde la B. de D.
  • El programa se ejecuta como una pieza atómica.
  • En SQL

Begin transacction. Instrucción -1
. Instrucción-2. .... Rollback work.
Begin transacction. Instrucción -1
. Instrucción-2. .... Commit work.
3
  • Propiedades de una Transacción.(ACID)
  • Atomicity Una Transacción se ejecuta
    completamente ó de otra manera se eliminan los
    cambios parciales realizados.
  • Begin Transaction - Programa - End
    Transaction
  • Consistency Después de terminar una Transacción
    la Base de datos no viola ninguna de sus reglas
    valores obligatorios, claves únicas,etc.
  • Isolation Los efectos de una Transacción(Tx) no
    son visibles a otros usuarios mientras no se
    confirmen.
  • Durability Si el sistema falla no debe permitir
    que se pierdan las operaciones realizadas por Tx
    ya confirmadas.

4
  • Estados de una Transacción.
  • Transiciones permitidas.

Parcialmente comprometida
Abortada
5
Ejecución concurrente de una Transacción.
  • Hechos que afectan a las propiedades ACID.
  • Sistemas de tiempo compartido por lo que las
    transacciones se ejecutan concurrentemente, no
    una despues de la otra.
  • Fallas en puntos intermedios de las
    Transacciones.
  • Solución
  • El sistema controla la concurrencia. La técnica
    más usada Bloquear los registros que una
    transacción usa.
  • El sistema establece un mecanismo de
    recuperación ante fallas.
  • Plan de ejecución de una Transacción
  • Orden en el que los pasos elementales de
    esta(bloqueos, lecturas, escrituras) son llevados
    a cabo deben aparecer en la misma secuencia en
    la que ocurren en el programa.

6
Planificaciones equivalente.
  • La ejecución de varias Tx concurrentes es
    correcta si y solo si su efecto es el mismo
  • que el obtenido de ejecutarlas una despues de la
    otra en algún orden dado.

Valores Iniciales A15 B 30 C 50
Plan 1 T1 T2
read A AA-10 Write A Read
B BB10 Write B Read B
BB-20 Write B Read C
CC20 Write C
Plan 2
T1 T2 Read A
Read B AA-10
BB-20 Write A Write B Read B Read
C B B10 CC20
WriteB Write C
Valor final plan 1. A5 , B20
C70 Plan
secuencial
Valor final plan 2. A5 , B20
C70 Plan
secuenciable
7
Planes no equivalentes.
Valores Iniciales A15 B 30 C 50
Plan 3 T1 T2 Read A AA-10 Read
B Write A BB-20 Read B Write B BB10
Read C Write B CC20 Write C
Plan 1 T1
T2 read A AA-10
Write A Read B BB10 Write B Read B
BB-20 Write B
Read C CC20
Write C
Valor final plan 1. A5 , B20
C70 Plan
secuencial
Valor final plan 3. A5 B40 C70. Plan no
secuenciable
8
Secuencialidad de planes de ejecución.
  • Plan secuenciable Si sus efectos son
    equivalentes a algún plan secuencial.
  • Asumimos que el efecto de dos planes no puede ser
    el mismo a menos que sean producidos por
    exactamente la misma secuencia de operaciones.
  • Consecuencia Asumir algunos planes como NO
    secuenciable cuando en realidad lo son. Pero
    garantizamos que nunca aceptaremos un plan que no
    sea secuenciable.
  • Objetivo hallar modelos que nos permitan inferir
    una amplia gama de planes secuenciables, evitando
    comportamiento no secuenciable

9
Manejo de Bloqueos.
  • El S.G.B.D. registra para cada item I, cuando
    alguna transacción está leyendo ó escribiendo
    sobre él.
  • Tabla de bloqueos
  • (ltitemgt, lttipo de bloqueogt,ltTxgt).
  • Bloqueo (Locks) Privilegio de acceso a un Item.
  • El manejador de bloqueos lo otorga ó lo da por
    terminado
  • Item Unidades de datos sobre los que se
    controla el acceso concurrente usualmente a
    nivel de registros.
  • Ejemplo
  • Lock(reg-X) Read(X.A) X.A X.A1 write(X.A)
    Unlock(reg-X).

10
Algoritmo para probar la secuencialidad.
  • Asumimos Tx como una secuencia de bloqueos y
    desbloqueos.
  • Una Tx no obtiene un bloqueo si ya hay uno
    previo.
  • Si obtiene el bloqueo la Tx lee y escribe.
  • Entrada Un plan S para T1,...,Tk transacciones.
  • Salida Un plan serial equivalente, si existe.
  • Método Construir un grafo dirigido con.
  • Nodos Transacciones.
  • Arcos Si la Tx-j libera un recurso(Tx-j
    Unlock A)
  • y a continuación
  • la Tx-s bloquea este recurso (Tx-s
    Lock A)
  • se construye un arco de Tx-j a Tx-s.
  • Significado intuitivo
  • En cualesquier plan serial equivalente a S, Tx-j
    debe preceder a Tx-s.
  • Evaluación Si G tiene un ciclo, el plan NO es
    secuenciable.

11
Ejemplo del Algoritmo.
  • T1 T2 T3
  • 1. T1Lock A
  • 2. T2Lock B
  • 3. T2Lock C
  • 4. T2Unlock B
  • 5. T1Lock B
  • 6. T1Unlock A
  • 7. T2Lock A
  • 8. T2Unlock C
  • 9. T2Unlock A
  • 10 T3 Lock A
  • 11 T3 Lock C
  • 12 T1Unlock B
  • 13 T3Unlock C
  • 14 T3Unlock A.

4-5
T1
T2
6-7
9-10 8-11
T3
T1 debe estar antes de t2. ?? T2 debe estar
antes de T1.
12
El protocolo de bloqueo de dos fases.
  • En una Tx todos los bloqueos deben preceder a
    los desbloqueos.
  • - Fase de Bloqueo La Tx puede obtener
    bloqueos pero no liberarlos.
  • - Fase de Desbloqueo. La tx puede liberar los
    bloqueos pero no obtenerlos.
  • T1 T2
  • Lock A
  • Lock C
  • Lock B
  • Unlock A
  • Unlock B
  • Lock B
  • Unlock C No hay ciclos, luego son
  • Unlock B secuenciables.
  • Cualquier colección de Tx regidas por el
    Two-Phase-Locking no puede tener un plan no
    secuenciable.

13
El bloqueo riguroso de dos fases.
  • T1 T2
  • Lock A
  • Lock C
  • Lock B
  • Unlock A
  • Unlock B
  • Lock B
  • Unlock C
  • Unlock B
  • Rollback

Provoca retroceso en cascada.
El bloque riguroso Libera recursos despues del
commit ó del rollback. Permite que Las
transacciones se puedan secuenciar en el orden en
que se comprometan.
14
Los interbloqueos.
  • T1 T2 T3
  • Lock A
  • Lock B
  • Lock C
  • Lock B ?
  • Lock C?
  • Lock A ?

Grafo de esperas Nodos Transacciones. Arcos
Ti ---gtTj Ti tiene un recurso que solicita Tj
Solución Si se detecta un ciclo debe
retrocederce una de las Tx Involucradas.
15
Transacciones con bloqueos de Lectura y Escritura.
  • Permite que varias transacciones lean el mismo
    dato.
  • Acceso de solo lectura Compartido - Rlock
  • Acceso de lectura-escritura Exclusivo - Wlock.
  • Admite nuevas situaciones de concurrencia.
  • Ambos se liberan con después del commit.
  • Matriz de Compatibilidad.

  • Solicita

E x i s t e
16
Bibliografía.
  • Abraham Silberschatz, Henry Korth, S. Sudarshan.
  • Fundamentos de Bases de Datos. Mc Graw Hill.
    1998.
  • Cap. 13-14
Write a Comment
User Comments (0)
About PowerShow.com