Transacciones Concurrencia

Páginas: 6 (1283 palabras) Publicado: 24 de febrero de 2013
Transacciones: Secuencialidad
• Llamamos planificación a la secuencia de ejecución  de una serie de transacciones d i d i • Decimos que una planificación es secuencial si las  instrucciones de una transacción cualquiera se  instrucciones de una transacción cualquiera se ejecutan juntas en una planificación. • En ejecución concurrente, el SO puede ejecutar  pparte de las instrucciones de una transacción y  y posteriormente pasar a ejecutar otra 
la planificación correspondiente no tiene por qué ser  secuencial
16

Transacciones: Secuencialidad
• El DBMS debe asegurar que cualquier planificación  que se ejecute, lleva a la BD a un estado consistente j ll l BD d i COMPONENTE DE CONTROL DE CONCURRENCIA COMPONENTE DE CONTROL DE CONCURRENCIA • Se debe garantizar que el efecto de unaplanificación Se debe garantizar que el efecto de una planificación  concurrente es el mismo que otra que se hubiese  ejecutado sin concurrencia (planificación secuencial).  En ese caso, decimos que la planificación es  E d i l l ifi ió secuenciable • Grafo de precedencia para una planificación P:   permite determinar si una planificación dada es  permite determinar si una planificación dada essecuenciable
17

Transacciones: Secuencialidad
T1 Read(A) A:=A‐10 Write(A) Read(B) B:=B+10 Write(B) Read(B) B:=B‐20 Write(B) Read(C) C:=C+20 Write(C) ( ) Write(B) Write(C) ( ) B:=B+10 C:=C+20 Write(B) C:=C+20 Write(C) ( ) Read(B) Read(C) B:=B+10 Read(C) Write(A) Write(B) Read(B) Write(B) A:=A‐10 A:=A 10 B:=B‐20 Write(A) B:=B‐20 T2 T1 Read(A) Read(B) T2 T1 Read(A) A:=A‐10 Read(B) T2Planificación Secuencial

Planificación  Secuenciable

Planificación  no Secuenciable

18

Transacciones: Secuencialidad
• Grafo de precedencia para una planificación P 1. Los vértices se corresponden con las  transacciones que intervienen en la planificación 2. Dadas dos transacciones Ti y Tj, se construyen  todos los arcos Ti →Tj en los siguientes casos: todos los arcos Ti →Tj en los siguientes casos:
•• • Ti ejecuta escribir(Q) antes de que Tj ejecute leer(Q) Ti ejecuta leer(Q) antes de que Tj ejecute escribir(Q) Ti ejecuta leer(Q) antes de que Tj ejecute escribir(Q) Ti ejecuta escribir(Q) antes de que Tj ejecute  escribir(Q)

3. Si el grafo de precedencia tiene ciclos, entonces  la planificación asociada no es secuenciable la planificación asociada no es secuenciable
19 Transacciones: Control de concurrencia
• Existen diferentes mecanismos de control de  concurrencia que se basan en la propiedad de  i b l i d dd secuencialidad – Protocolos basados en el bloqueo
• Protocolo de dos fases Protocolo de dos fases • Protocolos basados en grafos

– Protocolos basados en las marcas temporales – Protocolos optimistas

20

Transacciones: Protocolos basados en el bloqueo

•Protocolos basados en el bloqueo
– Acceso a los elementos de datos en exclusión  mutua, es decir, ninguna otra transacción puede  modificar dicho elemento difi di h l t – Una transacción solo puede modificar un  elemento si previamente ha podido bloquearlo elemento si previamente ha podido bloquearlo

• Tipos de bloqueo Tipos de bloqueo
– Compartido (C): para operaciones de solo lectura. Se permiten lecturas concurrentes pero ninguna  Se permiten lecturas concurrentes pero ninguna actualización – Exclusivo(X): para operaciones que escriben  ( ) p p q datos. Solo una transacción puede adquirir éste  21 bloqueo

Transacciones: Protocolos basados en el bloqueo

• Mecanismo de bloqueo:
– Toda transacción solicitan un bloqueo (C o X)  sobre un elemento al sistema de control de concurrencia(SCC) dependiendo del tipo de  i (SCC) d di d d l ti d operación que se vaya a realizar – La transacción realiza la operación deseada La transacción realiza la operación deseada  cuando el SCC concede dicho bloqueo
Compatibilidad de los modos de bloqueo Bloqueo‐C(E) Bloqueo‐X(E)
C C X True False  X False False
22

Transacciones: Protocolos basados en el bloqueo

• Desbloqueo:...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Manejo de transacciones y concurrencia en sql
  • Transacciones y concurrencia
  • Transacciones y Concurrencia
  • Control de concurrencia y transacciones
  • concurrencia
  • Concurrencia
  • Concurrente
  • Transacciones, Concurrencia, Tecnicas De Bloques Y Perfiles En Una Base De Datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS