Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bases de Datos B
Transacciones y Concurrencia
Transacciones
Una transaccin es una coleccin de operaciones que forman una nica unidad lgica de trabajo en una aplicacin de bases de datos. Propiedades de las Transacciones (A.C.I.D.): 1) Atomicidad 2) Consistencia 3) Aislamiento (Independencia) 4) Durabilidad
Atomicidad
COMMIT (Comprometer) ROLLBACK (Retroceder)
Gestor de Transacciones
Asegura las propiedades de Atomicidad y Durabilidad del sistema de bases de datos.
Activa
Fallida
Abortada
Transaccin
T1: leer (A) A = A 10,000 escribir (A) leer (B) B = B + 10,000 escribir (B) Cta. A 200,000 190,000 190,000 Cta. B 400,000 400,000 410,000
Ejecuciones concurrentes
T1: leer (A) A = A 10,000 escribir (A) leer (B) B = B + 10,000 escribir (B) T2: leer (A) temp = A * 0.1 A = A temp escribir (A) leer (C) C = C + temp escribir (C)
Control de Concurrencia
Protocolos basados en el Bloqueo (Locking methods)
Bloqueos Bloqueos de dos fases
Protocolos basados en Marcas Temporales (Timestamp methods) Protocolos basados en Validacin (Optimistic methods)
Bloqueos
1. Compartido
solo se puede leer el elemento de datos
2. Exclusivo
se puede leer como escribir el elemento de datos
C C X
T1:bloquear-X(A) leer (A) A = A 10,000 escribir (A) desbloquear (A) bloquear-X(B) leer (B) B = B + 10,000 escribir (B) desbloquear (B)
T2:bloquear-C(B) leer (B) desbloquear (B) bloquear-C (A) leer (A) desbloquear (A) visualizar (A+B)
T2
bloquear-C(B) leer (B) desbloquear (B)
...espera...
bloquear-C (A) leer (A) desbloquear (A) visualizar (A+B)
Interbloqueo
T3 Bloquear-X (B) Leer (B) B = B 10,000 Escribir (B) T4
Existe un interbloqueo en el sistema si y slo si el grafo de espera contiene un ciclo. T26 T25 T28
Recuperacin de interbloqueos
1. Seleccin de una vctima, se deben retroceder aquellas transacciones que incurran en un coste mnimo. a. Operaciones a realizar b. # elementos usados c. # elementos a usar d. Prediccin con las dems transacciones Estado de inanicin