CONTROL DE CONCURRENCIA
el control de concurrencia es la actividad de coordinar accesos concurrentes a la base de datos, es decir, es la forma en que el DBMS maneja las ejecuciones paralelas en la base de datos.
° asegura que transacciones múltiples sometidas por usuarios diferentes no interfieran unas con otras de forma que se produzcan resultados incorrectos..
ejemplo:
El control de concurrencia en bdd es mas compleja que en sistemas centralizados. Un aspecto interesante del c.c es el manejo de interbloqueos, el sistema no debe permitir que dos o mas transacciones se bloqueen entre ellas.
el hecho de reservar un asiento en un avión mediante un sistema basado en aplicaciones web , cuando decenas de perdonas en el mundo pueden reservarlo también nos da una idea de lo importante y crucial que es el control de concurrencia en un sistema de bd a mediana o gran escala.
ALGORITMO DE CONTROL DE CONCURRENCIA BASADOS EN EL BLOQUEO.
*Bloqueos
Un bloqueo en general es cuando una acción que debe ser realizada está esperando a un evento. Para manejar los bloqueos hay distintos acercamientos: prevención, detección, y recuperación.
En el caso específico de las bases de datos distribuidas usar bloqueo de recursos, peticiones para probar, establecer o liberar bloqueos requiere mensajes entre los manejadores de transacciones y el calendarizador. Para esto existen dos formas básicas:
- Autónoma: cada nodo es responsable por sus propios bloqueos de recursos.
- Una transacción sobre un elemento con n replicas requiere 5n mensajes
- Petición del recurso
- Aprobación de la petición
- Mensaje de la transacción
- Reconocimientos de transacción exitosa
- Peticiones de liberación de recursos
- Copia Primaria: un nodo primario es responsable para todos los bloqueos de recursos
- Una transacción sobre un elemento con n copias requiere 2n+3 mensajes
- Una petición del recurso
- Una aprobación de la petición
- n mensajes de la transacción
- n reconocimientos de transacción exitosa
- Una petición de liberación de recurso
Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si ambas acceden a la misma data, y una de ellas es de escritura y si fueron realizadas por transacciones distintas.
PRUEBAS DE VALIDACIÓN OPTIMISTAS
Los algoritmos de control de concurrencia discutidos antes son por naturaleza pesimistas. en otras palabras, ellos asumen que los conflictos entre transacciones son muy frecuentes y no permiten el acceso a un dato si existe una transacción conflictiva que accesa el mismo dato.
así la ejecución de cualquier operación de una transacción sigue la secuencia de fases: validación (v), lectura(r),computo(c), Y escritura(w). Los algoritmos optimistas por otra parte, retrasan la fase de validación justo antes de la fase de escritura. de esta manera una operación sometida a un despachador optimista nunca es retrasada.
No hay comentarios:
Publicar un comentario