Transacciones

Alfredo Galán
Mind Map by Alfredo Galán, updated more than 1 year ago
Alfredo Galán
Created by Alfredo Galán about 4 years ago
2
0

Description

Transacciones DBMS

Resource summary

Transacciones
1 Concurrencia
1.1 Planificadores
1.1.1 Comandos combinados dentro de una TX
1.1.2 En serie: 1º TX1, 2º TX2...
1.1.3 No en serie: TXs intercaladas
1.1.4 Seriable: algún plan en serie de las TX en ejecución. El resultado al final de la secuencia es igual que la 'en serie'. El grafo resultado no tiene ciclos
1.2 Dos operaciones están en conflicto si
1.2.1 Pertenecen a diferentes TXs Tiene acceso al mismo elemento Al menos 1 es de escritura
1.3 Control de concurrencia
1.3.1 Bloqueos
1.3.1.1 Exclusivo: una TX entrará en modo espera si hay otra TX anterior con el objeto bloqueado
1.3.1.2 Compartido: dos TX pueden compartir SOLO un objeto que la 1ª TX haya bloqueado previamente.
1.3.1.3 Protocolo (reglas) de bloqueo
1.3.1.3.1 Si TX solicita un bloqueo se le concederá si no hay conflictos con otra TX y si no hay otra TX esperando para dicho bloqueo
1.3.1.3.1.1 Fase crecimiento: bloquea pero no libera Fase decrecimiento: libera pero no bloquea
1.3.1.3.1.1.1 Bloqueo estricto de 2 fases: si el bloqueo dura hasta el final de la TX
1.3.2 Problemas
1.3.2.1 Bloqueo mútuo, punto muerto o interbloqueo: ambas TX quedan en espera. Sol: el DBMS libera la más reciente
1.3.2.2 Lectura sucia: hacer un rollback mientras la TX2 está leyendo. Sol: el DBMS pone en espera la 2º TX hasta que haya un rollback
1.3.2.3 Lectura irrepetible. Sol: el DBMS no deja modificar al TX2 mientras TX1 esté leyendo
1.3.2.4 Fantasmas: faltan o sobran filas. Sol: el DBMS pone en espera T2 hasta recibir el commit de T1
1.3.2.5 Niveles de aislamiento
1.3.2.5.1 Lectura no confirmada: todos posibles
1.3.2.5.2 Lectura confirmada: NO LS, SI LI, SI F
1.3.2.5.3 Lectura repetible: NO LS, NO LI, SI F
1.3.2.5.4 Seriable: ninguno posible
2 Todas las operaciones ejecutadas entre las declaraciones inicio y fin
2.1 ACID
2.1.1 Atomicidad: o se hace todo o no se rollback
2.1.2 Consistencia: la BD debe ser consistente antes y después de la TX
2.1.3 Isolation: ninguna TX afecta a otra y no se puede ver el estado intermedio de una TX
2.1.4 Durabilidad: al finalizar una TX los cambios en la BD permanecen aún si hay desastres
3 Log
3.1 Guarda todas las modificaciones. Compartido por todos los users. Los datos se guardan 1º en log y luego en tablas de la bbdd usando los datos del log
3.2 Recuperación
3.2.1 Progresiva: se restaura el bk y se aplican todas las TX válidas
3.2.2 Regresiva: se deshacen cambios de TX erróneas o parciales y se reinician las válidas
3.2.3 Checkpoint
3.2.3.1 Detiene nuevas TX, vuelca logs de la memoria al HDD, genera punto de revisión (lista de TX en ese momento). Reactiva las TX en ejecución
Show full summary Hide full summary

Similar

Introduce el texto aquí
karen Torales
4.2. Control de concurrencia.
damian.gonzalez.
Blockchain
Fabian Prieto
Sistemas De Información Transaccional
Jonathan Esteban Rangel
Transacciones BD
Eduardo Campos Corona
Transacciones de Datos
victor1_game
SISTEMAS CONTABLES
XIMENA RODRIGUEZ JIMENEZ
Sistemas TPS
LUISA GONZALEZ FORERO
SISTEMAS TPS
LUIS ACUNA ALVARADO
Transacciones
Alfonso Vásquez