Saltar al contenido
uencoder

CAP Theorem

El teorema CAP establece que ante una partición de red un sistema distribuido solo puede satisfacer una de entre consistencia (C) o disponibilidad (A); las tres no pueden mantenerse a la vez.

Propósito

Revelar el compromiso fundamental de los sistemas distribuidos y guiar la selección del almacén de datos.

Mecanismo

Consistencia (todos los nodos ven la misma vista), disponibilidad (toda petición recibe respuesta), tolerancia al particionamiento (la operación continúa pese a las particiones). Como las particiones son inevitables, la elección práctica está entre CP (consistencia fuerte) y AP (alta disponibilidad). CP: ZooKeeper, Spanner; AP: Cassandra, DynamoDB.

Casos de uso

  • Selección de almacenamiento distribuido
  • Arquitectura de datos en microservicios
  • Estrategia de despliegue multirregión
  • Compromisos entre consistencia y disponibilidad

Ejemplos

  • entrada
    During a network partition
    Output
    Choose C (reject inconsistency) or A (allow it)

    CP vs AP

Errores comunes

Believing all three of CAP can be satisfied simultaneously
Partitions are unavoidable; choose between CP and AP

Términos relacionados

References