Saltar al contenido
uencoder

Multi-Version Concurrency Control

MVCC mantiene múltiples versiones por fila; las lecturas usan una instantánea consistente sin bloqueos, logrando alta concurrencia donde las lecturas no bloquean escrituras.

Propósito

Comprender el mecanismo central de las lecturas altamente concurrentes en las bases de datos modernas (PostgreSQL/Oracle/InnoDB).

Mecanismo

Cada fila lleva sellos de versión (xmin/xmax o IDs de transacción). Las lecturas eligen la versión visible según la instantánea de transacción, sin bloqueos. Las escrituras crean una versión nueva y marcan la antigua como expirada. Los interbloqueos y el write skew requieren detección adicional.

Casos de uso

  • Optimización de lecturas de alta concurrencia
  • Implementación de aislamiento por instantánea
  • Interioridades de bases de datos

Herramientas relacionadas

References