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 partitionOutputChoose 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
ACID
ACID son las cuatro propiedades de las transacciones relacionales: atomicidad (todo o nada), consistencia (se mantienen las restricciones), aislamiento (concurrencia sin interferencia), durabilidad (persistencia tras commit). GLOSARIO
BASE
BASE es el modelo NoSQL de consistencia débil: básicamente disponible, estado blando, eventualmente consistente; intercambia la consistencia fuerte por disponibilidad y escalabilidad. GLOSARIO
NoSQL
NoSQL es el término paraguas para las bases de datos no relacionales, que incluyen los modelos de documentos, clave-valor, familias de columnas y grafos, diseñadas para escalabilidad y esquemas flexibles. GLOSARIO