Want to create interactive content? It’s easy in Genially!

Get started free

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:

Terrazzo Presentation

Visual Presentation

Relaxing Presentation

Modern Presentation

Colorful Presentation

Modular Structure Presentation

Chromatic Presentation

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

  • 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.