Teorema CAP y BASE
Consistencia (C)
Teorema CAP (Consistency, Availability, and Partition Tolerance)
Disponibilidad (A)
Tolerancia a la partición (P)
Aunque el teorema establece que solo se pueden conseguir dos de las tres propiedades, en la práctica se determina que un sistema puede sufrir particiones y hay que compensar consistencia para conseguir disponibilidad.
Consistency
CP
CA
AP
Partition Tolerance
Availability
Como aplicación práctica, todos los sistemas distribuidos en las bases de datos sufren fallos e interrupciones de red y es necesario que sigan funcionando, por lo que los sistemas deben elegir entre ser consistentes o disponibles y balancear estas dos garantías.
¿Y qué relación tienen las bases de datos NoSQL con el teorema CAP?
Se dice que las bases de datos NoSQL hoy en día se clasifican en función de las dos características de CAP, las cuales admiten:
Base de datos de CA
Base de datos AP
Base de datos CP
BASE: Basically Available, Soft State, Eventually Consistent
BASE describe el procesamiento de bases de datos relacionado con un sistema NoSQL como un lago de datos. Un número cada vez mayor de volúmenes de datos y variabilidad, según DAMA DMBOK, impulsó la filosofía BASE. Se dice que las bases cuentan básicamente con 3 propiedades, las cuales son las siguientes:
Disponible
Estado suave
Consistencia eventual
Ventajas de utilizar BASE
- Utilizar la arquitectura orientada a objetos nativa de la nube.
- Procesar grandes cantidades de datos no estructurados muy rápidamente.
- Apoyar la investigación de datos.
- Encontrar patrones como el fraude.
- Obtener información empresarial.
- Gestionar datos del Internet de las cosas (IoT).
En otros términos, podemos describir que BASE es un modelo de procesamiento de datos con coherencia utilizado para describir las propiedades de determinadas bases de datos como NoSQL.
Eventually Consistent
Soft State
Basically Available
Se dice también que los sistemas BASE permiten escalabilidad horizontal, tolerancia a fallos y alta disponibilidad a costa de la coherencia. Es decir, si nuestra aplicación requiere alta disponibilidad y escalabilidad, una base de datos NoSQL construida sobre propiedades BASE podría ser adecuada.
Ejemplo de caso de uso BASE:
Las empresas de marketing y servicio al cliente que se ocupan del análisis de sentimientos prefieren la elasticidad de BASE al realizar su investigación de redes sociales. Cuando los feeds de una red social no están bien estructurados y contienen enormes cantidades de datos, una base de datos modelada por BASE puede almacenarlos fácilmente.
Tolerancia a la partición (P)
Capacidad del sistema de garantizar su funcionamiento en caso de partición de la red o incomunicación entre sus nodos. Para ello, el retraso o la pérdida de mensajes de comunicación no debería impedir que el sistema funcione y responda a las peticiones. El sistema es tolerante a las particiones si los mensajes que se pierden o se retrasan no impiden su funcionamiento.
Consistencia (C)
Es la capacidad del sistema que garantiza devolver el último valor que ha sido escrito a cualquier operación de lectura. Por ejemplo, si actualizamos un registro con valor de 2 al valor 3, las bases de datos y sistemas consistentes deberán devolver a todos los lectores el nuevo valor 3 a partir de ese momento. Cualquier otro resultado es considerado como una violación de la consistencia.
Disponibilidad (A)
Capacidad del sistema de garantizar el procesamiento de cualquier operación de lectura sin producir ningún error.
Una base de datos CA ofrece coherencia y disponibilidad en todos los nodos. Sin embargo, no puede hacerlo si hay una partición entre dos nodos cualesquiera del sistema y, por lo tanto, no puede ofrecer tolerancia a fallos.
Base de datos de CA
Una base de datos CP ofrece coherencia y tolerancia de partición a costa de la disponibilidad. Cuando ocurre una partición entre dos nodos, el sistema tiene que cerrar el nodo no coherente (es decir, dejarlo no disponible) hasta que se resuelva la partición.
Base de datos CP
Una base de datos AP ofrece disponibilidad y tolerancia de partición a expensas de la coherencia. Cuando se produce una partición, todos los nodos siguen estando disponibles, pero los que se encuentran en el extremo equivocado de una partición podrían devolver una versión de los datos más antigua que los demás (cuando se resuelve la partición, las bases de datos AP suelen volver a sincronizar los nodos para reparar todas las incoherencias en el sistema).
Base de datos AP
Consistencia eventual
El sistema eventualmente será consistente después de la entrada de la aplicación. Los datos se replicarán en diferentes nodos y eventualmente alcanzarán un estado consistente, sin embargo, la coherencia no está garantizada a nivel de transacción.
Disponible
Donde se garantiza que el sistema estará disponible en caso de falla.
Estado suave
El estado de los datos podría cambiar sin interacciones de la aplicación debido a una eventual coherencia.
Teorema CAP y BASE
Innovación Académica
Created on June 4, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Terrazzo Presentation
View
Visual Presentation
View
Relaxing Presentation
View
Modern Presentation
View
Colorful Presentation
View
Modular Structure Presentation
View
Chromatic Presentation
Explore all templates
Transcript
Teorema CAP y BASE
Consistencia (C)
Teorema CAP (Consistency, Availability, and Partition Tolerance)
Disponibilidad (A)
Tolerancia a la partición (P)
Aunque el teorema establece que solo se pueden conseguir dos de las tres propiedades, en la práctica se determina que un sistema puede sufrir particiones y hay que compensar consistencia para conseguir disponibilidad.
Consistency
CP
CA
AP
Partition Tolerance
Availability
Como aplicación práctica, todos los sistemas distribuidos en las bases de datos sufren fallos e interrupciones de red y es necesario que sigan funcionando, por lo que los sistemas deben elegir entre ser consistentes o disponibles y balancear estas dos garantías.
¿Y qué relación tienen las bases de datos NoSQL con el teorema CAP?
Se dice que las bases de datos NoSQL hoy en día se clasifican en función de las dos características de CAP, las cuales admiten:
Base de datos de CA
Base de datos AP
Base de datos CP
BASE: Basically Available, Soft State, Eventually Consistent
BASE describe el procesamiento de bases de datos relacionado con un sistema NoSQL como un lago de datos. Un número cada vez mayor de volúmenes de datos y variabilidad, según DAMA DMBOK, impulsó la filosofía BASE. Se dice que las bases cuentan básicamente con 3 propiedades, las cuales son las siguientes:
Disponible
Estado suave
Consistencia eventual
Ventajas de utilizar BASE
En otros términos, podemos describir que BASE es un modelo de procesamiento de datos con coherencia utilizado para describir las propiedades de determinadas bases de datos como NoSQL.
Eventually Consistent
Soft State
Basically Available
Se dice también que los sistemas BASE permiten escalabilidad horizontal, tolerancia a fallos y alta disponibilidad a costa de la coherencia. Es decir, si nuestra aplicación requiere alta disponibilidad y escalabilidad, una base de datos NoSQL construida sobre propiedades BASE podría ser adecuada.
Ejemplo de caso de uso BASE:
Las empresas de marketing y servicio al cliente que se ocupan del análisis de sentimientos prefieren la elasticidad de BASE al realizar su investigación de redes sociales. Cuando los feeds de una red social no están bien estructurados y contienen enormes cantidades de datos, una base de datos modelada por BASE puede almacenarlos fácilmente.
Tolerancia a la partición (P)
Capacidad del sistema de garantizar su funcionamiento en caso de partición de la red o incomunicación entre sus nodos. Para ello, el retraso o la pérdida de mensajes de comunicación no debería impedir que el sistema funcione y responda a las peticiones. El sistema es tolerante a las particiones si los mensajes que se pierden o se retrasan no impiden su funcionamiento.
Consistencia (C)
Es la capacidad del sistema que garantiza devolver el último valor que ha sido escrito a cualquier operación de lectura. Por ejemplo, si actualizamos un registro con valor de 2 al valor 3, las bases de datos y sistemas consistentes deberán devolver a todos los lectores el nuevo valor 3 a partir de ese momento. Cualquier otro resultado es considerado como una violación de la consistencia.
Disponibilidad (A)
Capacidad del sistema de garantizar el procesamiento de cualquier operación de lectura sin producir ningún error.
Una base de datos CA ofrece coherencia y disponibilidad en todos los nodos. Sin embargo, no puede hacerlo si hay una partición entre dos nodos cualesquiera del sistema y, por lo tanto, no puede ofrecer tolerancia a fallos.
Base de datos de CA
Una base de datos CP ofrece coherencia y tolerancia de partición a costa de la disponibilidad. Cuando ocurre una partición entre dos nodos, el sistema tiene que cerrar el nodo no coherente (es decir, dejarlo no disponible) hasta que se resuelva la partición.
Base de datos CP
Una base de datos AP ofrece disponibilidad y tolerancia de partición a expensas de la coherencia. Cuando se produce una partición, todos los nodos siguen estando disponibles, pero los que se encuentran en el extremo equivocado de una partición podrían devolver una versión de los datos más antigua que los demás (cuando se resuelve la partición, las bases de datos AP suelen volver a sincronizar los nodos para reparar todas las incoherencias en el sistema).
Base de datos AP
Consistencia eventual
El sistema eventualmente será consistente después de la entrada de la aplicación. Los datos se replicarán en diferentes nodos y eventualmente alcanzarán un estado consistente, sin embargo, la coherencia no está garantizada a nivel de transacción.
Disponible
Donde se garantiza que el sistema estará disponible en caso de falla.
Estado suave
El estado de los datos podría cambiar sin interacciones de la aplicación debido a una eventual coherencia.