El teorema CAP , introducido originalmente como el principio CAP, se puede utilizar para explicar algunos de los requisitos competitivos en un sistema distribuido con replicación. Es una herramienta que se utiliza para que los diseñadores de sistemas sean conscientes de las ventajas y desventajas al diseñar sistemas de datos compartidos en red.
Las tres letras en CAP se refieren a tres propiedades deseables de los sistemas distribuidos con datos replicados: coherencia (entre copias replicadas), disponibilidad (del sistema para operaciones de lectura y escritura) y tolerancia de partición (frente a los Nodes del sistema que se están particionando). por un fallo de red).
El teorema CAP establece que no es posible garantizar las tres propiedades deseables: consistencia, disponibilidad y tolerancia de partición al mismo tiempo en un sistema distribuido con replicación de datos.
El teorema establece que los sistemas de datos compartidos en red solo pueden soportar dos de las siguientes tres propiedades:
- Coherencia:
la coherencia significa que los Nodes tendrán las mismas copias de un elemento de datos replicado visible para varias transacciones. Una garantía de que cada Node en un clúster distribuido devuelve la misma escritura, la más reciente y exitosa. La consistencia se refiere a que cada cliente tiene la misma vista de los datos. Hay varios tipos de modelos de consistencia. La consistencia en CAP se refiere a la consistencia secuencial, una forma muy fuerte de consistencia.
- Disponibilidad:
disponibilidad significa que cada solicitud de lectura o escritura de un elemento de datos se procesará correctamente o recibirá un mensaje de que la operación no se puede completar. Cada Node que no falla devuelve una respuesta para todas las requests de lectura y escritura en un período de tiempo razonable. La palabra clave aquí es «cada». En términos simples, cada Node (a cada lado de una partición de red) debe poder responder en un tiempo razonable.
- Tolerancia de
partición: la tolerancia de partición significa que el sistema puede continuar funcionando incluso si la red que conecta los Nodes tiene una falla que da como resultado dos o más particiones, donde los Nodes en cada partición solo pueden comunicarse entre sí. Eso significa que el sistema continúa funcionando y mantiene sus garantías de consistencia a pesar de las particiones de la red. Las particiones de red son un hecho de la vida. Los sistemas distribuidos que garantizan la tolerancia a la partición pueden recuperarse correctamente de las particiones una vez que la partición se recupera.
El uso de la palabra consistencia en CAP y su uso en ACID no se refieren al mismo concepto idéntico.
En CAP, el término consistencia se refiere a la consistencia de los valores en diferentes copias del mismo elemento de datos en un sistema distribuido replicado. En ACID , se refiere al hecho de que una transacción no violará las restricciones de integridad especificadas en el esquema de la base de datos.
Publicación traducida automáticamente
Artículo escrito por nitin_sharma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA