SlideShare una empresa de Scribd logo
1 de 74
Descargar para leer sin conexión
CLASE 9 y 10

ADMINISTRACIÓN DE BASE DE DATOS

CONTROL DE CONCURRENCIA

                          AUTORES:

                          Prof. Roxydel Dulcey

                          Prof. Josué Ramírez

            Marzo, 2011
Control de Concurrencia

• Cuando se ejecutan varias transacciones
  concurrentemente en la base de datos,
  puede que deje de conservarse la
  propiedad de aislamiento.

• Es necesario que el sistema controle la
  interacción entre las transacciones
  concurrentes.
Control de Concurrencia

• Este control se lleva a cabo a través de
  uno de los muchos mecanismos
  existentes llamado esquemas de control
  de concurrencia.
Control de Concurrencia

• Los esquemas de control de concurrencia
  que veremos a continuación se basan en
  la propiedad de secuencialidad.

• Es decir, aseguran que las planificaciones
  sean secuenciables.
Control de Concurrencia

• Una forma de asegurar la secuencialidad
  es exigir que el acceso a los elementos de
  datos se haga en exclusión mutua; es
  decir, mientras una transacción accede a
  un elemento de datos, ninguna otra
  transacción     puede    modificar   dicho
  elemento.
Control de Concurrencia

• El método más habitual que se usa para
  implementar este requisito es permitir que
  una transacción acceda a un elemento de
  datos sólo si posee actualmente un
  bloqueo sobre dicho elemento.
Tipos de Bloqueo

• Bloqueo Compartido.

• Bloqueo Exclusivo.
Bloqueos

• Bloqueo Compartido:
  Si una transacción Ti obtiene un bloqueo
  en modo compartido (denotado por C)
  sobre el elemento Q, entonces Ti puede
  leer Q pero no lo puede escribir.
Bloqueos

• Bloqueo Exclusivo:
  Si una transacción Ti obtiene un bloqueo
  en modo exclusivo (denotado por X)
  sobre el elemento Q, entonces Ti puede
  tanto leer como escribir Q.
Bloqueos

• Es necesario que toda transacción
  solicite un bloqueo del modo apropiado
  sobre el elemento de datos Q
  dependiendo de los tipos de operaciones
  que se vayan a realizar sobre Q.
Bloqueos

• La petición se hace al gestor de control de
  concurrencia.

• La transacción puede realizar la operación
  sólo después de que el gestor de control
  de concurrencia conceda el bloqueo a la
  transacción.
Matriz de Compatibilidad de
            bloqueos




• Nótese que el modo compartido es compatible
  con otro modo compartido, pero no con el modo
  exclusivo.
Compatibilidad de bloqueos

• En todo momento se pueden tener varios
  bloqueos en modo compartido (por varias
  transacciones) sobre un elemento de datos en
  concreto.

• Una petición posterior de bloqueo en modo
  exclusivo debe esperar hasta que se liberen los
  bloqueos en modo compartido que estén en ese
  momento.
Bloqueos

Instrucciones de bloqueo:
• Bloquear-C(Q): solicita un bloqueo
  compartido sobre el elemento de datos Q.

• Bloquear-X(Q): solicita un bloqueo
  exclusivo sobre el elemento de datos Q.
Bloqueos

• Desbloquear(Q):      desbloquea   un
  elemento de datos Q.
Bloqueos

• Para acceder a un elemento de datos, una
  transacción Ti debe en primer lugar bloquear
  dicho elemento.

• Si éste ya se encuentra bloqueado por otra
  transacción en un modo incompatible, el gestor
  de control de concurrencia no concederá el
  bloqueo hasta que todos los bloqueos
  incompatibles que posean otras transacciones
  hayan sido liberados.
Bloqueos

• De este modo Ti debe esperar hasta que
  se    liberen  todos    los   bloqueos
  incompatibles   que    posean     otras
  transacciones.

• La transacción Ti puede desbloquear un
  elemento de datos que haya bloqueado en
  algún momento anterior.
Bloqueos

• Nótese que la transacción debe poseer un
  bloqueo sobre un elemento de datos durante
  todo el tiempo que acceda a dicho elemento.

• Además, no siempre es aconsejable que una
  transacción desbloquee un elemento de datos
  inmediatamente después de finalizar su acceso
  sobre él, ya que puede dejar de asegurarse la
  secuencialidad.
Ejemplo 1
• La transacción T1 transfiere 50 € desde la
  cuenta B a la A.
Ejemplo 1
• La transacción T2 visualiza la cantidad total de
  dinero de las cuentas A y B, es decir, la suma A
  + B.
Bloqueos

• Supóngase que los valores de las cuentas
  A y B son 100 € y 200 € respectivamente.
  Si estas dos transacciones se ejecutan
  secuencialmente, tanto en el orden T1, T2
  como en el orden T2, T1, entonces la
  transacción T2 visualizará el valor 300 €.
Bloqueos

• Si por el contrario estas transacciones se
  ejecutan concurrentemente, entonces
  puede darse la siguiente planificación.
Planificación 1
Bloqueos

• En ese caso la transacción T2 visualiza
  250 €, lo cual es incorrecto.

• Dado que la transacción T1 desbloquea el
  elemento B demasiado pronto, lo cual
  provoca que T2 perciba un estado
  inconsistente.
Bloqueos

• La planificación muestra los puntos en los
  que el gestor de control de concurrencia
  concede los bloqueos.

• La transacción que realiza una petición de
  bloqueo no puede ejecutar su siguiente
  acción hasta que el gestor de control de
  concurrencia conceda dicho bloqueo.
Ejemplo 2

• Supóngase ahora que el desbloqueo se retrasa
  hasta el final de la transacción:

                        La transacción T3 corresponde a
                        T1 con el desbloqueo retrasado
Ejemplo 2

      La transacción T4 corresponde a
      T2 con el desbloqueo retrasado




   Se puede verificar que la secuencia
   de lecturas y escrituras de la
   planificación 1, que provoca que se
   visualice un total incorrecto de 250 €,
   ya no es posible con T3 y T4.
Interbloqueos

• El uso de bloqueos puede conducir a una
  situación no deseada, denominada
  interbloqueos.
Interbloqueos


  • T3 posee en bloqueo sobre B en modo exclusivo y
  T4 solicita un bloqueo sobre B en modo compartido,
  T4 espera a que T3 desbloquee B.



  • T4 posee un bloqueo sobre A en modo compartido y
  T3 solicita un bloqueo sobre A en modo exclusivo,
  T3 espera a que T4 desbloquee A.
Interbloqueos

• Así se llega a un estado en el cual
  ninguna de las transacciones puede
  continuar su ejecución normal. Esta
  situación se denomina interbloqueo.
Interbloqueos

• Cuando aparece un interbloqueo, el sistema
  debe retroceder una de las dos transacciones.

• Una vez que una de ellas se ha retrocedido, se
  desbloquean los elementos de datos que
  estuvieran bloqueados por la transacción.

• Estos elementos de datos están disponibles
  entonces para otra transacción, la cual puede
  continuar su ejecución.
Bloqueos

• Si no se usan bloqueos, o se desbloquean los
  elementos de datos tan pronto como sea posible
  después de leerlos o escribirlos, se pueden
  obtener estados inconsistentes.

• Y si no se desbloquea un elemento de datos
  antes de solicitar un bloqueo sobre otro, pueden
  producirse interbloqueos.
Bloqueos

• Sin      embargo,     en     general, los
  interbloqueos son un mal necesario
  asociado a los bloqueos si se quieren
  evitar los estados inconsistentes.
Bloqueos

• Los interbloqueos son absolutamente
  preferibles a los estados inconsistentes,
  ya que se pueden tratar retrocediendo las
  transacciones, mientras que los estados
  inconsistentes producen problemas en el
  mundo real que el sistema de base de
  datos no puede manejar.
Protocolos de bloqueo

• Se exige que toda transacción del sistema
  siga un conjunto de reglas llamado
  protocolo de bloqueo, que indica el
  momento en que una transacción puede
  bloquear y desbloquear cada uno de los
  elementos de datos.
Protocolos de bloqueo

• Los protocolos de bloqueo restringen el
  número de planificaciones posibles.

• El conjunto de tales planificaciones es un
  subconjunto de todas las planificaciones
  secuenciables posibles.
Protocolos de bloqueo

  Definiciones:
• Sean {T0,T1,           , Tn} un conjunto de
  transacciones que participan en la planificación
  S. Se dice que Ti precede a Tj en S, denotado
  por Ti → Tj, si existe un elemento de datos Q tal
  que Ti ha obtenido un bloqueo en modo A sobre
  Q, y Tj ha obtenido un bloqueo en modo B sobre
  Q más tarde y comp(A,B) = falso.
Protocolos de bloqueo

• Si Ti → Tj entonces esta precedencia
  implica que en cualquier planificación
  secuencial equivalente, Ti debe aparecer
  antes que Tj.
Protocolos de bloqueo

• Este grafo es similar al grafo de
  precedencia    que    utilizamos   para
  comprobar la secuencialidad en cuanto a
  conflictos.

• Los    conflictos   entre   instrucciones
  corresponden a      modos   de bloqueo
  incompatibles.
Protocolos de bloqueo

  Planificación legal:
• Una planificación S es legal bajo un
  protocolo de bloqueo dado si S es una
  planificación posible para un conjunto de
  transacciones que sigan las reglas del
  protocolo de bloqueo.
Protocolos de bloqueo

• Se dice que un protocolo asegura la
  secuencialidad en cuanto a conflictos si y sólo si
  todas     las   planificaciones    legales    son
  secuenciables en cuanto a conflictos; en otras
  palabras, para todas las planificaciones legales
  la relación → asociada es acíclica.
Concesión de bloqueos

• Cuando una transacción solicita un
  bloqueo de un modo particular sobre un
  elemento de datos y ninguna otra
  transacción posee un bloqueo sobre el
  mismo elemento de datos en un modo
  conflictivo, se puede conceder el bloqueo.
Concesión de bloqueos

• Supóngase que la transacción T2 posee
  un bloqueo en modo compartido sobre un
  elemento de datos y que la transacción T1
  solicita un bloqueo en modo exclusivo
  sobre dicho elemento de datos.

• Se sabe que T1 debe esperar a que T2
  libere el bloqueo en modo compartido.
Concesión de bloqueos

• Pero, es posible que haya una secuencia de
  transacciones que soliciten un bloqueo en modo
  compartido sobre ese elemento de datos, y que
  cada una de ellas libere el bloqueo un poco
  después de que sea concedido, de forma que
  T1 nunca obtenga el bloqueo en modo exclusivo
  sobre dicho elemento.
Concesión de bloqueos

• La transacción T1 nunca progresa y se
  dice que tiene inanición.
Concesión de bloqueos

 ¿Cómo se puede evitar la inanición de las
 transacciones?

• Al conceder los bloqueos de la siguiente
  manera:

• Cuando una transacción Ti solicita un bloqueo
  sobre un elemento de datos Q en un modo
  particular M, el gestor de control de
  concurrencia concede el bloqueo siempre que
  se cumpla:
Concesión de bloqueos

1. No existe otra transacción que posea un
   bloqueo sobre Q en un modo que esté
   en conflicto con M.

2. No existe otra transacción que esté
   esperando un bloqueo sobre Q y que lo
   haya solicitado antes que Ti.
Concesión de bloqueos

• De este modo, una petición de bloqueo
  nunca se quedará bloqueada por otra
  petición solicitada posteriormente.
Protocolo de bloqueo de 2 fases

• Este protocolo asegura la secuencialidad.

• Exige que cada transacción realice las
  peticiones de bloqueo y desbloqueo en
  dos fases:
     • Fase de crecimiento.
     • Fase de decrecimiento.
Protocolo de bloqueo de 2 fases

1. Fase de crecimiento. Una transacción
   puede obtener bloqueos pero no puede
   liberarlos.

2. Fase de decrecimiento. Una transacción
    puede liberar bloqueos pero no puede
    obtener ninguno nuevo.
Protocolo de bloqueo de 2 fases

• Inicialmente una transacción está en la fase de
  crecimiento.

• La transacción adquiere los bloqueos que
  necesite.

• Una vez que la transacción libera un bloqueo,
  entra en la fase de decrecimiento y no puede
  realizar más peticiones de bloqueo.
Protocolo de bloqueo de 2 fases

 Ejemplo:

• Las transacciones T3 y T4 son de dos
  fases.

• Las transacciones T1 y T2 no son de dos
  fases.
Ejemplo
Ejemplo
Protocolo de bloqueo de 2 fases

• Nótese que no es necesario que las
  instrucciones de desbloqueo aparezcan al final
  de la transacción.

• Por ejemplo, en el caso de la transacción T3 se
  puede trasladar la instrucción desbloquear(B)
  justo después de la instrucción bloquear-X(A) y
  se sigue cumpliendo la propiedad del bloqueo
  de dos fases.
Protocolo de bloqueo de 2 fases

  Punto de bloqueo:
• Es el punto de la planificación en el cual la
  transacción obtiene su bloqueo final (el
  final de la fase de crecimiento).
Protocolo de bloqueo de 2 fases

• El protocolo de bloqueo de dos fases
  asegura la secuencialidad en cuanto a
  conflictos.

• No asegura la ausencia de interbloqueos.
Protocolo de bloqueo de 2 fases

• Por ejemplo: las transacciones T3 y T4
  son de dos fases, pero en la planificación
  2 llegan a un interbloqueo.

• En el bloqueo de dos fases puede ocurrir
  el retroceso en cascada.
Ejemplo 3




• Cada transacción sigue el protocolo de bloqueo de dos fases pero
un fallo de T5 después del paso leer(A) de T7 lleva a un
retroceso en cascada de T6 y T7.
Protocolo de bloqueo estricto de 2
              fases

• Los retrocesos en cascada se pueden
  evitar por medio de una modificación del
  protocolo de bloqueo de dos fases que se
  denomina protocolo de bloqueo estricto
  de dos fases.
Protocolo de bloqueo estricto de 2
              fases

• Este protocolo exige que, además de que
  el bloqueo sea de dos fases, una
  transacción debe poseer todos los
  bloqueos en modo exclusivo que tome
  hasta que dicha transacción se complete.
Protocolo de bloqueo estricto de 2
              fases

• Este requisito asegura que todo dato que
  escribe una transacción no comprometida
  está bloqueado en modo exclusivo hasta
  que la transacción se completa, evitando
  que ninguna otra transacción lea el dato.
Protocolo de bloqueo riguroso de 2
               fases

• Otra variante del bloqueo de dos fases es
  el protocolo de bloqueo riguroso de
  dos fases, el cual exige que se posean
  todos los bloqueos hasta que se
  comprometa (COMMIT) la transacción.
Ejemplo 4
• Si se emplea el protocolo de bloqueo de
  dos fases entonces T8 debe bloquear a1
  en modo exclusivo.
• Por tanto, toda ejecución concurrente de
  ambas transacciones conduce a una
  ejecución secuencial.
• Nótese sin embargo que T8 sólo necesita
  el bloqueo en modo exclusivo sobre a1 al
  final de su ejecución, cuando escribe a1.
• Así, si T8 pudiera bloquear inicialmente
  a1 en modo compartido y después
  pudiera cambiar el bloqueo a modo
  exclusivo, se obtendría una mayor
  concurrencia, ya que T8 y T9 podrían
  acceder a a1 y a2 simultáneamente.
Protocolo de bloqueo de 2 fases


• Esta observación lleva a un refinamiento
  del protocolo de bloqueo de dos fases
  básico en el cual se permiten
  conversiones de bloqueo.
Protocolo de bloqueo de 2 fases

• Esto se refiere a un mecanismo para cambiar un
  bloqueo compartido por un bloqueo exclusivo y
  un bloqueo exclusivo por uno compartido.

• Se denota la conversión del modo compartido al
  modo exclusivo como subir, y la conversión del
  modo exclusivo al modo compartido como bajar.
Protocolo de bloqueo de 2 fases


• No se puede permitir la conversión de
  modos arbitrariamente.

• Por el contrario, la subida puede tener
  lugar sólo en la fase de crecimiento,
  mientras que la bajada puede tener lugar
  sólo en la fase de decrecimiento.
Ejemplo 5


• Las transacciones T8 y T9 se pueden
  ejecutar  concurrentemente  bajo  el
  protocolo de bloqueo de dos fases
  refinado.
Ejemplo 5

  • Nótese que se puede forzar a
    esperar a una transacción que
    intente subir un bloqueo sobre
    un elemento Q.

  • Esta espera forzada tiene lugar
    si    Q     está    bloqueado
    actualmente       por       otra
    transacción      en      modo
    compartido.
Protocolo de bloqueo de 2 fases


• Un esquema simple pero de uso
  extendido genera automáticamente las
  instrucciones apropiadas de bloqueo y
  desbloqueo     para     una     transacción,
  basándose en peticiones de lectura y
  escritura desde la transacción:
Protocolo de bloqueo de 2 fases


1.Cuando una transacción Ti realiza una
  operación leer(Q), el sistema genera una
  instrucción bloquear-C(Q) seguida de una
  instrucción leer(Q).
Protocolo de bloqueo de 2 fases

2. Cuando Ti realiza una operación escribir(Q), el
   sistema comprueba si Ti posee ya un bloqueo
   en modo compartido sobre Q. Si es así,
   entonces el sistema genera una instrucción
   subir(Q) seguida de la instrucción escribir(Q). En
   otro caso el sistema genera una instrucción
   bloquear-X(Q) seguida de la instrucción
   escribir(Q).
Protocolo de bloqueo de 2 fases


3.Todos los bloqueos que obtenga una
  transacción no se desbloquean hasta que
  dicha    transacción   se   comprometa
  (COMMIT) o aborte (ABORT).
Protocolo de bloqueo de 2 fases

• Los protocolos de bloqueo de dos fases básico y
  de bloqueo de dos fases con conversión de
  bloqueos     generan    sólo     planificaciones
  secuenciables en cuanto a conflictos.

• Además, si se poseen los bloqueos hasta el final
  de la transacción, las planificaciones son sin
  cascada.

Más contenido relacionado

La actualidad más candente

Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexadosjennifergu17
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosjocuva101
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexadoluismy_martinez
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+neltherdaza
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisionesemiru48
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexadolesster ostorga
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosAbimael hernandez
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidadrezzaca
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOWilmer Quintero
 
ARBOLES AVL ROTACION DOBLE
ARBOLES AVL ROTACION DOBLEARBOLES AVL ROTACION DOBLE
ARBOLES AVL ROTACION DOBLE373747
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 

La actualidad más candente (20)

Ejemplos acid
Ejemplos acidEjemplos acid
Ejemplos acid
 
Archivos Secuenciales Indexados
Archivos Secuenciales IndexadosArchivos Secuenciales Indexados
Archivos Secuenciales Indexados
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueos
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexado
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Entidad Relación Banco
Entidad Relación BancoEntidad Relación Banco
Entidad Relación Banco
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Ordenamiento parte 2
Ordenamiento parte 2Ordenamiento parte 2
Ordenamiento parte 2
 
Archivo secuencial indexado
Archivo secuencial indexadoArchivo secuencial indexado
Archivo secuencial indexado
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Transacciones
TransaccionesTransacciones
Transacciones
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
ORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIOORDENAMIENTO POR INTERCAMBIO
ORDENAMIENTO POR INTERCAMBIO
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
ARBOLES AVL ROTACION DOBLE
ARBOLES AVL ROTACION DOBLEARBOLES AVL ROTACION DOBLE
ARBOLES AVL ROTACION DOBLE
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 

Destacado

Seminario 6 tcpe tipos transición
Seminario 6 tcpe tipos transiciónSeminario 6 tcpe tipos transición
Seminario 6 tcpe tipos transiciónManuel Caño
 
Curso fundamentos itil_v3
Curso fundamentos itil_v3Curso fundamentos itil_v3
Curso fundamentos itil_v3seveman
 
DISEÑO DE SERVICIO ITIL
DISEÑO DE SERVICIO ITILDISEÑO DE SERVICIO ITIL
DISEÑO DE SERVICIO ITILthehernan
 
Ciclo de vida del servicio itil (operación del servicio-)
Ciclo de vida del servicio   itil  (operación del servicio-)Ciclo de vida del servicio   itil  (operación del servicio-)
Ciclo de vida del servicio itil (operación del servicio-)jr_palaciosg
 
Protocolo de atención a un cliente por teléfono
Protocolo de atención a un cliente por teléfonoProtocolo de atención a un cliente por teléfono
Protocolo de atención a un cliente por teléfonoJuan Camilo Lopez Florez
 

Destacado (8)

Matris de propuestas de estrategias
Matris de propuestas de estrategiasMatris de propuestas de estrategias
Matris de propuestas de estrategias
 
Seminario 6 tcpe tipos transición
Seminario 6 tcpe tipos transiciónSeminario 6 tcpe tipos transición
Seminario 6 tcpe tipos transición
 
Curso fundamentos itil_v3
Curso fundamentos itil_v3Curso fundamentos itil_v3
Curso fundamentos itil_v3
 
DISEÑO DE SERVICIO ITIL
DISEÑO DE SERVICIO ITILDISEÑO DE SERVICIO ITIL
DISEÑO DE SERVICIO ITIL
 
ITIL V3
ITIL V3ITIL V3
ITIL V3
 
Ciclo de vida del servicio itil (operación del servicio-)
Ciclo de vida del servicio   itil  (operación del servicio-)Ciclo de vida del servicio   itil  (operación del servicio-)
Ciclo de vida del servicio itil (operación del servicio-)
 
Matriz de consistencia
Matriz de consistenciaMatriz de consistencia
Matriz de consistencia
 
Protocolo de atención a un cliente por teléfono
Protocolo de atención a un cliente por teléfonoProtocolo de atención a un cliente por teléfono
Protocolo de atención a un cliente por teléfono
 

Similar a Abd clase 9 y 10

Similar a Abd clase 9 y 10 (20)

Candados bd
Candados bdCandados bd
Candados bd
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Tarea
TareaTarea
Tarea
 
Proyecto1_BD2_Grupo3.pptx
Proyecto1_BD2_Grupo3.pptxProyecto1_BD2_Grupo3.pptx
Proyecto1_BD2_Grupo3.pptx
 
Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)Capítulo 18 (Técnicas de control de la concurrencia)
Capítulo 18 (Técnicas de control de la concurrencia)
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Transaciones en mysql
Transaciones en mysqlTransaciones en mysql
Transaciones en mysql
 
Abd clase 8
Abd clase 8Abd clase 8
Abd clase 8
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencia
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Base de datos distribuidas
Base de datos distribuidasBase de datos distribuidas
Base de datos distribuidas
 
Transaccion
TransaccionTransaccion
Transaccion
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
 
Problemas del bloqueo en dos faces
Problemas del bloqueo en dos facesProblemas del bloqueo en dos faces
Problemas del bloqueo en dos faces
 

Más de Yusmar Devia

Más de Yusmar Devia (7)

Abd clase 7
Abd clase 7Abd clase 7
Abd clase 7
 
Tripticoinfluenza
TripticoinfluenzaTripticoinfluenza
Tripticoinfluenza
 
Abd clase 5 y 6
Abd clase 5 y 6Abd clase 5 y 6
Abd clase 5 y 6
 
Abd clase 3
Abd clase 3Abd clase 3
Abd clase 3
 
Abd clase 2
Abd clase 2Abd clase 2
Abd clase 2
 
Abd clase 4
Abd clase 4Abd clase 4
Abd clase 4
 
Abd clase 1
Abd clase 1Abd clase 1
Abd clase 1
 

Último

Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxkeithgiancarloroquef
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxMaritza438836
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 

Último (20)

Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptx
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 

Abd clase 9 y 10

  • 1. CLASE 9 y 10 ADMINISTRACIÓN DE BASE DE DATOS CONTROL DE CONCURRENCIA AUTORES: Prof. Roxydel Dulcey Prof. Josué Ramírez Marzo, 2011
  • 2. Control de Concurrencia • Cuando se ejecutan varias transacciones concurrentemente en la base de datos, puede que deje de conservarse la propiedad de aislamiento. • Es necesario que el sistema controle la interacción entre las transacciones concurrentes.
  • 3. Control de Concurrencia • Este control se lleva a cabo a través de uno de los muchos mecanismos existentes llamado esquemas de control de concurrencia.
  • 4. Control de Concurrencia • Los esquemas de control de concurrencia que veremos a continuación se basan en la propiedad de secuencialidad. • Es decir, aseguran que las planificaciones sean secuenciables.
  • 5. Control de Concurrencia • Una forma de asegurar la secuencialidad es exigir que el acceso a los elementos de datos se haga en exclusión mutua; es decir, mientras una transacción accede a un elemento de datos, ninguna otra transacción puede modificar dicho elemento.
  • 6. Control de Concurrencia • El método más habitual que se usa para implementar este requisito es permitir que una transacción acceda a un elemento de datos sólo si posee actualmente un bloqueo sobre dicho elemento.
  • 7. Tipos de Bloqueo • Bloqueo Compartido. • Bloqueo Exclusivo.
  • 8. Bloqueos • Bloqueo Compartido: Si una transacción Ti obtiene un bloqueo en modo compartido (denotado por C) sobre el elemento Q, entonces Ti puede leer Q pero no lo puede escribir.
  • 9. Bloqueos • Bloqueo Exclusivo: Si una transacción Ti obtiene un bloqueo en modo exclusivo (denotado por X) sobre el elemento Q, entonces Ti puede tanto leer como escribir Q.
  • 10. Bloqueos • Es necesario que toda transacción solicite un bloqueo del modo apropiado sobre el elemento de datos Q dependiendo de los tipos de operaciones que se vayan a realizar sobre Q.
  • 11. Bloqueos • La petición se hace al gestor de control de concurrencia. • La transacción puede realizar la operación sólo después de que el gestor de control de concurrencia conceda el bloqueo a la transacción.
  • 12. Matriz de Compatibilidad de bloqueos • Nótese que el modo compartido es compatible con otro modo compartido, pero no con el modo exclusivo.
  • 13. Compatibilidad de bloqueos • En todo momento se pueden tener varios bloqueos en modo compartido (por varias transacciones) sobre un elemento de datos en concreto. • Una petición posterior de bloqueo en modo exclusivo debe esperar hasta que se liberen los bloqueos en modo compartido que estén en ese momento.
  • 14. Bloqueos Instrucciones de bloqueo: • Bloquear-C(Q): solicita un bloqueo compartido sobre el elemento de datos Q. • Bloquear-X(Q): solicita un bloqueo exclusivo sobre el elemento de datos Q.
  • 15. Bloqueos • Desbloquear(Q): desbloquea un elemento de datos Q.
  • 16. Bloqueos • Para acceder a un elemento de datos, una transacción Ti debe en primer lugar bloquear dicho elemento. • Si éste ya se encuentra bloqueado por otra transacción en un modo incompatible, el gestor de control de concurrencia no concederá el bloqueo hasta que todos los bloqueos incompatibles que posean otras transacciones hayan sido liberados.
  • 17. Bloqueos • De este modo Ti debe esperar hasta que se liberen todos los bloqueos incompatibles que posean otras transacciones. • La transacción Ti puede desbloquear un elemento de datos que haya bloqueado en algún momento anterior.
  • 18. Bloqueos • Nótese que la transacción debe poseer un bloqueo sobre un elemento de datos durante todo el tiempo que acceda a dicho elemento. • Además, no siempre es aconsejable que una transacción desbloquee un elemento de datos inmediatamente después de finalizar su acceso sobre él, ya que puede dejar de asegurarse la secuencialidad.
  • 19. Ejemplo 1 • La transacción T1 transfiere 50 € desde la cuenta B a la A.
  • 20. Ejemplo 1 • La transacción T2 visualiza la cantidad total de dinero de las cuentas A y B, es decir, la suma A + B.
  • 21. Bloqueos • Supóngase que los valores de las cuentas A y B son 100 € y 200 € respectivamente. Si estas dos transacciones se ejecutan secuencialmente, tanto en el orden T1, T2 como en el orden T2, T1, entonces la transacción T2 visualizará el valor 300 €.
  • 22. Bloqueos • Si por el contrario estas transacciones se ejecutan concurrentemente, entonces puede darse la siguiente planificación.
  • 24. Bloqueos • En ese caso la transacción T2 visualiza 250 €, lo cual es incorrecto. • Dado que la transacción T1 desbloquea el elemento B demasiado pronto, lo cual provoca que T2 perciba un estado inconsistente.
  • 25. Bloqueos • La planificación muestra los puntos en los que el gestor de control de concurrencia concede los bloqueos. • La transacción que realiza una petición de bloqueo no puede ejecutar su siguiente acción hasta que el gestor de control de concurrencia conceda dicho bloqueo.
  • 26. Ejemplo 2 • Supóngase ahora que el desbloqueo se retrasa hasta el final de la transacción: La transacción T3 corresponde a T1 con el desbloqueo retrasado
  • 27. Ejemplo 2 La transacción T4 corresponde a T2 con el desbloqueo retrasado Se puede verificar que la secuencia de lecturas y escrituras de la planificación 1, que provoca que se visualice un total incorrecto de 250 €, ya no es posible con T3 y T4.
  • 28. Interbloqueos • El uso de bloqueos puede conducir a una situación no deseada, denominada interbloqueos.
  • 29. Interbloqueos • T3 posee en bloqueo sobre B en modo exclusivo y T4 solicita un bloqueo sobre B en modo compartido, T4 espera a que T3 desbloquee B. • T4 posee un bloqueo sobre A en modo compartido y T3 solicita un bloqueo sobre A en modo exclusivo, T3 espera a que T4 desbloquee A.
  • 30. Interbloqueos • Así se llega a un estado en el cual ninguna de las transacciones puede continuar su ejecución normal. Esta situación se denomina interbloqueo.
  • 31. Interbloqueos • Cuando aparece un interbloqueo, el sistema debe retroceder una de las dos transacciones. • Una vez que una de ellas se ha retrocedido, se desbloquean los elementos de datos que estuvieran bloqueados por la transacción. • Estos elementos de datos están disponibles entonces para otra transacción, la cual puede continuar su ejecución.
  • 32. Bloqueos • Si no se usan bloqueos, o se desbloquean los elementos de datos tan pronto como sea posible después de leerlos o escribirlos, se pueden obtener estados inconsistentes. • Y si no se desbloquea un elemento de datos antes de solicitar un bloqueo sobre otro, pueden producirse interbloqueos.
  • 33. Bloqueos • Sin embargo, en general, los interbloqueos son un mal necesario asociado a los bloqueos si se quieren evitar los estados inconsistentes.
  • 34. Bloqueos • Los interbloqueos son absolutamente preferibles a los estados inconsistentes, ya que se pueden tratar retrocediendo las transacciones, mientras que los estados inconsistentes producen problemas en el mundo real que el sistema de base de datos no puede manejar.
  • 35. Protocolos de bloqueo • Se exige que toda transacción del sistema siga un conjunto de reglas llamado protocolo de bloqueo, que indica el momento en que una transacción puede bloquear y desbloquear cada uno de los elementos de datos.
  • 36. Protocolos de bloqueo • Los protocolos de bloqueo restringen el número de planificaciones posibles. • El conjunto de tales planificaciones es un subconjunto de todas las planificaciones secuenciables posibles.
  • 37. Protocolos de bloqueo Definiciones: • Sean {T0,T1, , Tn} un conjunto de transacciones que participan en la planificación S. Se dice que Ti precede a Tj en S, denotado por Ti → Tj, si existe un elemento de datos Q tal que Ti ha obtenido un bloqueo en modo A sobre Q, y Tj ha obtenido un bloqueo en modo B sobre Q más tarde y comp(A,B) = falso.
  • 38. Protocolos de bloqueo • Si Ti → Tj entonces esta precedencia implica que en cualquier planificación secuencial equivalente, Ti debe aparecer antes que Tj.
  • 39. Protocolos de bloqueo • Este grafo es similar al grafo de precedencia que utilizamos para comprobar la secuencialidad en cuanto a conflictos. • Los conflictos entre instrucciones corresponden a modos de bloqueo incompatibles.
  • 40. Protocolos de bloqueo Planificación legal: • Una planificación S es legal bajo un protocolo de bloqueo dado si S es una planificación posible para un conjunto de transacciones que sigan las reglas del protocolo de bloqueo.
  • 41. Protocolos de bloqueo • Se dice que un protocolo asegura la secuencialidad en cuanto a conflictos si y sólo si todas las planificaciones legales son secuenciables en cuanto a conflictos; en otras palabras, para todas las planificaciones legales la relación → asociada es acíclica.
  • 42. Concesión de bloqueos • Cuando una transacción solicita un bloqueo de un modo particular sobre un elemento de datos y ninguna otra transacción posee un bloqueo sobre el mismo elemento de datos en un modo conflictivo, se puede conceder el bloqueo.
  • 43. Concesión de bloqueos • Supóngase que la transacción T2 posee un bloqueo en modo compartido sobre un elemento de datos y que la transacción T1 solicita un bloqueo en modo exclusivo sobre dicho elemento de datos. • Se sabe que T1 debe esperar a que T2 libere el bloqueo en modo compartido.
  • 44. Concesión de bloqueos • Pero, es posible que haya una secuencia de transacciones que soliciten un bloqueo en modo compartido sobre ese elemento de datos, y que cada una de ellas libere el bloqueo un poco después de que sea concedido, de forma que T1 nunca obtenga el bloqueo en modo exclusivo sobre dicho elemento.
  • 45. Concesión de bloqueos • La transacción T1 nunca progresa y se dice que tiene inanición.
  • 46. Concesión de bloqueos ¿Cómo se puede evitar la inanición de las transacciones? • Al conceder los bloqueos de la siguiente manera: • Cuando una transacción Ti solicita un bloqueo sobre un elemento de datos Q en un modo particular M, el gestor de control de concurrencia concede el bloqueo siempre que se cumpla:
  • 47. Concesión de bloqueos 1. No existe otra transacción que posea un bloqueo sobre Q en un modo que esté en conflicto con M. 2. No existe otra transacción que esté esperando un bloqueo sobre Q y que lo haya solicitado antes que Ti.
  • 48. Concesión de bloqueos • De este modo, una petición de bloqueo nunca se quedará bloqueada por otra petición solicitada posteriormente.
  • 49. Protocolo de bloqueo de 2 fases • Este protocolo asegura la secuencialidad. • Exige que cada transacción realice las peticiones de bloqueo y desbloqueo en dos fases: • Fase de crecimiento. • Fase de decrecimiento.
  • 50. Protocolo de bloqueo de 2 fases 1. Fase de crecimiento. Una transacción puede obtener bloqueos pero no puede liberarlos. 2. Fase de decrecimiento. Una transacción puede liberar bloqueos pero no puede obtener ninguno nuevo.
  • 51. Protocolo de bloqueo de 2 fases • Inicialmente una transacción está en la fase de crecimiento. • La transacción adquiere los bloqueos que necesite. • Una vez que la transacción libera un bloqueo, entra en la fase de decrecimiento y no puede realizar más peticiones de bloqueo.
  • 52. Protocolo de bloqueo de 2 fases Ejemplo: • Las transacciones T3 y T4 son de dos fases. • Las transacciones T1 y T2 no son de dos fases.
  • 55. Protocolo de bloqueo de 2 fases • Nótese que no es necesario que las instrucciones de desbloqueo aparezcan al final de la transacción. • Por ejemplo, en el caso de la transacción T3 se puede trasladar la instrucción desbloquear(B) justo después de la instrucción bloquear-X(A) y se sigue cumpliendo la propiedad del bloqueo de dos fases.
  • 56. Protocolo de bloqueo de 2 fases Punto de bloqueo: • Es el punto de la planificación en el cual la transacción obtiene su bloqueo final (el final de la fase de crecimiento).
  • 57. Protocolo de bloqueo de 2 fases • El protocolo de bloqueo de dos fases asegura la secuencialidad en cuanto a conflictos. • No asegura la ausencia de interbloqueos.
  • 58. Protocolo de bloqueo de 2 fases • Por ejemplo: las transacciones T3 y T4 son de dos fases, pero en la planificación 2 llegan a un interbloqueo. • En el bloqueo de dos fases puede ocurrir el retroceso en cascada.
  • 59. Ejemplo 3 • Cada transacción sigue el protocolo de bloqueo de dos fases pero un fallo de T5 después del paso leer(A) de T7 lleva a un retroceso en cascada de T6 y T7.
  • 60. Protocolo de bloqueo estricto de 2 fases • Los retrocesos en cascada se pueden evitar por medio de una modificación del protocolo de bloqueo de dos fases que se denomina protocolo de bloqueo estricto de dos fases.
  • 61. Protocolo de bloqueo estricto de 2 fases • Este protocolo exige que, además de que el bloqueo sea de dos fases, una transacción debe poseer todos los bloqueos en modo exclusivo que tome hasta que dicha transacción se complete.
  • 62. Protocolo de bloqueo estricto de 2 fases • Este requisito asegura que todo dato que escribe una transacción no comprometida está bloqueado en modo exclusivo hasta que la transacción se completa, evitando que ninguna otra transacción lea el dato.
  • 63. Protocolo de bloqueo riguroso de 2 fases • Otra variante del bloqueo de dos fases es el protocolo de bloqueo riguroso de dos fases, el cual exige que se posean todos los bloqueos hasta que se comprometa (COMMIT) la transacción.
  • 64. Ejemplo 4 • Si se emplea el protocolo de bloqueo de dos fases entonces T8 debe bloquear a1 en modo exclusivo. • Por tanto, toda ejecución concurrente de ambas transacciones conduce a una ejecución secuencial. • Nótese sin embargo que T8 sólo necesita el bloqueo en modo exclusivo sobre a1 al final de su ejecución, cuando escribe a1. • Así, si T8 pudiera bloquear inicialmente a1 en modo compartido y después pudiera cambiar el bloqueo a modo exclusivo, se obtendría una mayor concurrencia, ya que T8 y T9 podrían acceder a a1 y a2 simultáneamente.
  • 65. Protocolo de bloqueo de 2 fases • Esta observación lleva a un refinamiento del protocolo de bloqueo de dos fases básico en el cual se permiten conversiones de bloqueo.
  • 66. Protocolo de bloqueo de 2 fases • Esto se refiere a un mecanismo para cambiar un bloqueo compartido por un bloqueo exclusivo y un bloqueo exclusivo por uno compartido. • Se denota la conversión del modo compartido al modo exclusivo como subir, y la conversión del modo exclusivo al modo compartido como bajar.
  • 67. Protocolo de bloqueo de 2 fases • No se puede permitir la conversión de modos arbitrariamente. • Por el contrario, la subida puede tener lugar sólo en la fase de crecimiento, mientras que la bajada puede tener lugar sólo en la fase de decrecimiento.
  • 68. Ejemplo 5 • Las transacciones T8 y T9 se pueden ejecutar concurrentemente bajo el protocolo de bloqueo de dos fases refinado.
  • 69. Ejemplo 5 • Nótese que se puede forzar a esperar a una transacción que intente subir un bloqueo sobre un elemento Q. • Esta espera forzada tiene lugar si Q está bloqueado actualmente por otra transacción en modo compartido.
  • 70. Protocolo de bloqueo de 2 fases • Un esquema simple pero de uso extendido genera automáticamente las instrucciones apropiadas de bloqueo y desbloqueo para una transacción, basándose en peticiones de lectura y escritura desde la transacción:
  • 71. Protocolo de bloqueo de 2 fases 1.Cuando una transacción Ti realiza una operación leer(Q), el sistema genera una instrucción bloquear-C(Q) seguida de una instrucción leer(Q).
  • 72. Protocolo de bloqueo de 2 fases 2. Cuando Ti realiza una operación escribir(Q), el sistema comprueba si Ti posee ya un bloqueo en modo compartido sobre Q. Si es así, entonces el sistema genera una instrucción subir(Q) seguida de la instrucción escribir(Q). En otro caso el sistema genera una instrucción bloquear-X(Q) seguida de la instrucción escribir(Q).
  • 73. Protocolo de bloqueo de 2 fases 3.Todos los bloqueos que obtenga una transacción no se desbloquean hasta que dicha transacción se comprometa (COMMIT) o aborte (ABORT).
  • 74. Protocolo de bloqueo de 2 fases • Los protocolos de bloqueo de dos fases básico y de bloqueo de dos fases con conversión de bloqueos generan sólo planificaciones secuenciables en cuanto a conflictos. • Además, si se poseen los bloqueos hasta el final de la transacción, las planificaciones son sin cascada.