ScholarGate
Asistente

Protocolos de Control de Concurrencia

Los protocolos de control de concurrencia son los métodos —bloqueo, ordenación por marcas de tiempo, validación optimista y multiversionamiento— que programan transacciones concurrentes de modo que el resultado sea equivalente a una ejecución en serie.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

Un protocolo de control de concurrencia es un conjunto de reglas que rigen cómo las transacciones concurrentes acceden a los datos para que cada programación permitida sea serializable (o satisfaga un nivel de aislamiento más débil elegido), preservando así el aislamiento sin forzar a las transacciones a ejecutarse una a la vez.

Scope

Este tema abarca los protocolos que imponen la serializabilidad bajo concurrencia: el bloqueo en dos fases y su variante estricta, con detección y prevención de interbloqueos; los protocolos de ordenación por marcas de tiempo; el control de concurrencia optimista con fases de lectura-validación-escritura; y el control de concurrencia multiversión, incluyendo el aislamiento de instantáneas. Trata cómo cada protocolo garantiza programaciones correctas y las compensaciones entre el bloqueo, las anulaciones y el rendimiento. Excluye la definición de serializabilidad en sí misma y los mecanismos de recuperación que complementan el control de concurrencia.

Core questions

  • ¿Cómo garantiza el bloqueo en dos fases las programaciones serializables?
  • ¿Cómo se detectan, previenen o resuelven los interbloqueos?
  • ¿En qué se diferencian los protocolos de ordenación por marcas de tiempo y los optimistas del bloqueo?
  • ¿Cómo permite el control de concurrencia multiversión que los lectores eviten bloquear a los escritores?
  • ¿Cuáles son las compensaciones de rendimiento entre los métodos pesimistas y optimistas?

Key concepts

  • bloqueo en dos fases
  • 2PL estricto y riguroso
  • bloqueos compartidos y exclusivos
  • detección y prevención de interbloqueos
  • ordenación por marcas de tiempo
  • control de concurrencia optimista
  • control de concurrencia multiversión
  • aislamiento de instantáneas

Key theories

Bloqueo en dos fases
Si cada transacción adquiere todos sus bloqueos antes de liberar cualquiera (una fase de crecimiento seguida de una fase de reducción), todas las programaciones resultantes son serializables por conflicto; el bloqueo estricto en dos fases mantiene además los bloqueos de escritura hasta la confirmación para asegurar la recuperabilidad.
Control de concurrencia optimista
Las transacciones se ejecutan sin bloqueo y se validan en el momento de la confirmación contra transacciones concurrentes; las transacciones en conflicto se anulan y se reintentan, lo que funciona bien cuando la contención es baja.
Control de concurrencia multiversión
Al mantener múltiples versiones de cada elemento de datos, el sistema permite que las lecturas accedan a una instantánea consistente sin bloquear las escrituras; el aislamiento de instantáneas es un esquema multiversión ampliamente utilizado, aunque puede permitir ciertas anomalías no serializables.

Clinical relevance

Los protocolos de control de concurrencia determinan cómo se comporta una base de datos bajo carga: el bloqueo es robusto pero puede causar interbloqueos y contención, los métodos optimistas y multiversión permiten una alta concurrencia de lectura, y la elección del protocolo influye directamente en el rendimiento y la latencia de los sistemas transaccionales de alto tráfico.

History

El bloqueo en dos fases y los bloqueos de predicado fueron formalizados por Eswaran y sus colegas en System R en 1976; Kung y Robinson introdujeron el control de concurrencia optimista en 1981; y la monografía de Bernstein, Hadzilacos y Goodman de 1987 unificó la teoría. Los métodos multiversión y el aislamiento de instantáneas se hicieron dominantes más tarde en sistemas de bases de datos ampliamente utilizados por su comportamiento favorable a la lectura.

Debates

Aislamiento de instantáneas versus serializabilidad
El aislamiento de instantáneas proporciona una alta concurrencia al permitir que los lectores vean una instantánea consistente, pero permite anomalías como la asimetría de escritura (write skew) que la serializabilidad completa prohíbe; los profesionales debaten cuándo su garantía más débil es aceptable y cuándo se requieren variantes serializables.

Key figures

  • Jim Gray
  • Philip Bernstein
  • H. T. Kung

Related topics

Seminal works

  • eswaran1976
  • kung1981
  • bernstein1987

Frequently asked questions

¿Qué causa un interbloqueo y cómo se maneja?
Un interbloqueo ocurre cuando dos o más transacciones mantienen cada una un bloqueo que la otra necesita, por lo que ninguna puede continuar. Los sistemas lo manejan ya sea por detección —construyendo un grafo de espera, encontrando un ciclo y abortando una transacción víctima— o por esquemas de prevención que ordenan la adquisición de bloqueos o usan marcas de tiempo para decidir qué transacción espera o se anula.
¿Cuándo es una buena opción el control de concurrencia optimista?
Los métodos optimistas brillan cuando los conflictos son raros, porque las transacciones se ejecutan sin la sobrecarga de bloqueo y solo ocasionalmente fallan la validación y se reintentan. Bajo alta contención, desperdician trabajo en anulaciones y reintentos, por lo que los métodos de bloqueo pesimista o multiversión suelen preferirse para cargas de trabajo con muchas escrituras y propensas a conflictos.

Methods for this concept

Related concepts