0% encontró este documento útil (0 votos)
25 vistas10 páginas

Control de Concurrencia

Este documento describe varios problemas de concurrencia que pueden ocurrir en bases de datos y diferentes técnicas para controlar la concurrencia como bloqueo, marcas de tiempo y protocolos de bloqueo de dos fases.

Cargado por

ezeku1234
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas10 páginas

Control de Concurrencia

Este documento describe varios problemas de concurrencia que pueden ocurrir en bases de datos y diferentes técnicas para controlar la concurrencia como bloqueo, marcas de tiempo y protocolos de bloqueo de dos fases.

Cargado por

ezeku1234
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Tecnología de Bases de

Datos
Problemas de Concurrencia
a) Problema de la Actualización Perdida

b) Problema de la Dependencia No Confirmada


(actualización temporal) (lectura sucia) t T5 T6
c) Problema del Análisis Inconsistente t1 Leer (A)
t2 S=A
t T3 T4 t3 Leer (B)
t T1 T2
t1 Leer (A) t4 S=S+B
t1 Leer (A)
t2 A=A+N t5 Escribir (A)
t2 A=A+N
t3 Escribir (A) t6 Leer (C)
t3 Leer (A)
t4 Leer (A) t7 C=C+K
t4 A=A+M
t5 A=A+M t8 Escribir (C)
t5 Escribir (A)
t6 Escribir (A) t9 Leer (B)
t6 Escribir (A)
t7 Leer (B) t1 B=B+R
0
t8 (Rollback)
t11 Escribir (B)
t1 Leer (C)
2

t1 S=S+C
3
Técnicas de Control de Concurrencia

Control de uso compartido


Secuenciamiento
Bloqueo:
• Bloqueo binario
• Bloqueo multinivel
El problema de la escritura
Problema A - Bloqueo
OPCION 1
OPCION 2
t T1 T2
t T1 T2
t1 Solicita (BC; A)
t1 Solicita (BC; A)
t2 Leer (A)
t2 Leer (A)
t3 A=A+N
t3 A=A+N
t4 Solicita (BC; A)
t4 Solicita (BC; A)
t5 Leer (A)
t5 Leer (A)
t6 A=A+M
t6 A=A+M
t7 Solicita (BE; A)
t7 Solicita (BE; A)
t8 …
t8 …
t9 … Solicita (BE; A)
t9 … Solicita (BE; A)
t10 … …
t10 … …
t11 … …
t11 … …
t12 … …
t12 … …
t13 (resolución de interbloqueo)
t13 (vence ‘t’ y reinicia) …
t14 (reinicia)
t14 Escribir (A)
t15 Escribir (A)
Problema B - Bloqueo
OPCION 1
t T3 T4 OPCION 2
t1 Solicita (BC; A) t T3 T4
t2 Leer (A) t1 Solicita (BC; A)
t3 A=A+N t2 Leer (A)
t4 Solicita (BE; A) t3 A=A+N
t5 Escribir (A) t4 Solicita (BC; A)
t6 Solicita (BC; A) t5 Leer (A)
t7 … t6 A=A+M
t8 … t7 Solicita (BE; A)
t9 Leer (B) … t8 …
t10 Rollback … t9 … Solicita (BE; A)
t11 Leer (A) t10 … …
t12 A=A+M (Idem Caso Problema A)
t13 Solicita (BE; A)
t14 Escribir (A)
Problema C - Bloqueo
t T5 T6
t1 Solicita (BC; A)
t2 Leer (A)
t3 S=A
t4 Solicita (BC; B)
t5 Leer (B)
t6 S=S+B
t7 Solicita (BC; C)
t8 Leer (C)
t9 C=C+K
t10 Solicita (BE; C)
t11 Escribir (C)
t12 Solicita (BC; B)
t13 Leer (B)
t14 B=B+R
t15 Solicita (BE; B)
t16 Solicita (BC; C) …
t17 … …
t18 Idem Caso Problema A
Protocolo de Bloqueo en Dos Faces (B2F)

Básico:
• Fase “expansión”
• Fase “contracción”
Conservador: obtiene todos los bloqueos antes
de iniciar la ejecución de la primer instrucción
Estricto: no libera bloqueos exclusivos antes de
confirmar (o abortar) la transacción
Riguroso: no libera bloqueos antes de confirmar
(o abortar) la transacción
Granularidad de Bloqueo

Menor grado de concurrencia


Menor Granularidad Menor complejidad

Mayor grado de concurrencia


Mayor Granularidad Mayor complejidad
Marca Temporal

Por cada elemento:


• tL: marca de tiempo de la última transacción que leyó el
elemento
• tE: marca de tiempo de la última transacción que escribió el
elemento
Para Lectura: leer(x)
t(T) < tE(x) No permitido; reiniciar T
Otro caso Permitido
Para escritura: escribir(x)
t(T) < tL(x) No permitido; reinicia T
T(T) < tE(x) No permitido; reinicia T (*)
Otro caso Permitido
(*) Variante sin reiniciar
Control de Concurrencia

Comparativa de Técnicas

Características del Sistema de Información:

– Complejidad

– Tipo de información

– Cantidad de usuarios/procesos – Cantidad de datos compartidos

También podría gustarte