InternacionalAcceso estudiantes

¿Qué es el teorema de CAP y cómo afecta a las bases de datos?

Los profesionales de big data que trabajan procesando grandes volúmenes de información deben conocer el teorema de CAP porque les permitirá elegir la base de datos más adecuada para cada proyecto.

También conocido como teorema de Brewer.

El hecho de que los usuarios de una web tengan un acceso rápido, correcto y sin errores a los resultados de las búsquedas que realizan dependerá en gran medida de la elección de bases de datos que se haya hecho. Para llevar a cabo esta selección resulta vital conocer el teorema de CAP, también conocido como teorema de Brewer, puesto que los conceptos de este postulado conforman los denominados requisitos de calidad que resultan fundamentales de definir al inicio de un proyecto.

El científico informático Eric Brewer, en lo que se conoció como conjetura de Brewer, afirmó que “a medida que las aplicaciones tienen más base en la web, hay que dejar de preocuparse por la consistencia de los datos, porque si se desea una alta disponibilidad en esas nuevas aplicaciones, no es posible garantizar esa coherencia de la información”. Dos años después de pronunciar estas palabras, en 2002, Seth Gilbert y Nancy Lynch del MIT demostraron formalmente que estaba en lo cierto y así nació el teorema de Brewer o teorema de CAP.

Los 3 factores que conforman el teorema CAP

CAP es un acrónimo de las palabras en inglés Consistency, Availability y Partition tolerance, y lo que defiende es que es imposible proporcionar simultáneamente más de dos de esos tres factores.

Por lo tanto, el teorema de CAP sostiene que en los sistemas distribuidos no es posible garantizar simultáneamente estas tres características:

  • Consistencia (consistency).

Cualidad que posibilita que cualquier lectura reciba como respuesta la escritura más reciente y nunca se proporcione un dato obsoleto. Es decir, todos los nodos deben proporcionar la misma información al mismo tiempo.

  • Disponibilidad (availability).

Propiedad por la que cualquier tipo de petición recibe una respuesta no errónea en un tiempo razonable, aunque no sea la escritura más reciente.

  • Tolerancia a las particiones (partition tolerance).

Atributo que permite que el sistema continúe funcionando incluso cuando existen fallos de comunicación o caídas parciales.

teorema-cap

Principales combinaciones de atributos

Como resulta evidente, ningún sistema distribuido se salva de que pueda haber un fallo en la red y, teniendo en cuenta el teorema de CAP, existen tres posibles opciones de combinaciones de pares de atributos que pueden garantizarse a la vez:

CA: consistencia y disponibilidad

En este caso, el acceso a la información está asegurado, el valor de los datos es igual (consistente) para todas las peticiones atendidas y si existiesen cambios, se mostraría inmediatamente. Sin embargo, la partición de los nodos no es tolerada por el sistema simultáneamente y este debería fallar y presentar un mensaje al cliente del tipo: “Inténtelo más tarde, por favor”.

AP: disponibilidad y tolerancia a la partición

Aquí se asegura la disponibilidad de la información y el sistema es capaz de gestionar la partición de los nodos, pero se descuida la consistencia de los datos.

CP: consistencia y tolerancia a la partición

Se salvaguarda la consistencia de los datos y se tolera la partición de los nodos, pero en este caso se sacrifica la disponibilidad, con lo cual, el sistema puede fallar o tardar en ofrecer una respuesta a petición del usuario.

¿Cómo afecta el teorema de CAP a las bases de datos?

Resulta imprescindible tener en cuenta el teorema CAP a la hora de elegir la base de datos que mejor se adecúa al proyecto que se pretende desarrollar. Así, los profesionales podrán seleccionar aquellas bases de datos que posean los atributos más importantes que el sistema debe garantizar.

teorema-cap

Los sistemas gestores de bases de datos pueden clasificarse en:

SQL

Son modelos de bases de datos relacionales tradicionales que, de los tres atributos del teorema de CAP, priorizan la consistencia y la disponibilidad, por eso se llaman de tipo CA.

Entre las principales bases de datos de estas características se pueden citar SQL, MariaDB, MySQL y Oracle.

NoSQL

En este caso, se trata de modelos de bases de datos no relacionales que tienen mejor rendimiento cuando se trata de procesar grandes volúmenes de datos que provienen de diferentes fuentes, como suele ser el caso de las bases de datos empleadas en Big Data. Aquí, la tolerancia a las particiones de la red es soportada, y después, dependiendo del sistema o el gestor escogido, se priorizará alguno de los otros dos atributos disponibles según el teorema de CAP: consistencia o disponibilidad. Serán, por tanto, modelos CP o AP.

Entre las bases de datos CP estarían BigTable, HBase, Redis o MongoDB y enfocadas al modelo AP serían Cassandra, Dynamo, KAI, CouchDB o Riak. Son los sistemas más adecuados para aplicaciones y datos no estructurados que involucran enormes volúmenes de información, por ejemplo, todo lo relacionado con el big data.

NewSQL

Este tipo de bases de datos son una versión renovada de los modelos de datos relacionales y podría decirse que combinan características de los gestores tradicionales y de las NoSQL. Ejemplos de este tipo de bases de datos serían Apache Trafodion, TokuDB, NuoDB, CockroachDB o ClustixDB.

Actualmente, el campo del big data ofrece infinidad de salidas laborales y formaciones como el Máster en Big Data online de UNIR preparan a los alumnos para desarrollar su carrera profesional en uno de los sectores con mayor proyección.

    Títulos que te pueden interesar

    Noticias relacionadas

    ¿Qué perfiles demanda el mercado laboral europeo en Computación HPC?

    La computación de alto rendimiento, que usa potentes ordenadores de forma individual o agregada, es capaz de resolver problemas muy complejos en ciencia, ingeniería y gestión. Una especialidad con un futuro profesional prometedor.

    Qué máster hacer después de ingeniería de Telecomunicaciones si me gustan los videojuegos e internet

    Ingeniería de Telecomunicaciones es una carrera apasionante y te forma en múltiples campos. Sin embargo, es una formación un tanto técnica que no consigue alimentar esa creatividad que muchos llevamos dentro.

    Los empleos digitales más demandados en 2023

    Ocho de cada diez empresas españolas tienen dificultades para encontrar los profesionales que necesitan y las posiciones relacionadas con las TIC y los datos son las más difíciles de cubrir. La solución pasa por la especialización. UNIR te da respuestas.

    Docencia 100% online

    Nuestra metodología te permite estudiar sin desplazarte mediante un modelo de aprendizaje personalizado

    Clases en directo

    Nuestros profesores imparten 4.000 horas de clases online a la semana. Puedes asistir en directo o verlas en otro momento

    Mentor - UNIR

    En UNIR nunca estarás solo. Un mentor realizará un seguimiento individualizado y te ayudará en todo lo que necesites

    La fuerza que necesitas

    Graduación España 2024

    Graduación España 2024

    Acompañamiento personalizado