Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Teorema de CAP en sistemas ACID y BASE

19 junio, 2015

El teorema de CAP dice que en un sistema distribuido con datos compartidos no se puede tener Consistencia, Disponibilidad y tolerancia a particiones. Por lo que tenemos que optar por dos de las tres características, que serán las que mejor nos vengan para nuestro sistema distribuido.
– CA: Consistencia y Disponibilidad.
– CP: Consistencia y tolerancia a particiones.
– AP: Disponibilidad y tolerancia a particiones.

teoremaCAP

Los sistemas ACID otorgan las siguientes características a las transacciones.

– Atomicidad, toda la transacción se completará como una sola, al final se completará todo al completo, o se hará “rollback” con toda la transacción al completo.
– Consistencia, tendrá consistencia tanto al principio como cuando se acabe la transacción
– Aislamiento (I) , se aislará la transacción.
– Durabilidad, si después de completar la operación se “cae” el sistema, la operación seguirá completada.
Los sistemas ACID utilizan el commit en dos fases, y “sacrifican” parte de la disponibilidad del sistema, por tener las otras dos características, consistencia y tolerancia a particiones.

Los sistemas BASE ofrecen las siguientes características:

Disponibilidad todo el tiempo, un estado flexible y consistencia eventual, por lo que en preciso momento puede que no sea consistente pero a lo largo del tiempo será eventualmente consistente.
En conclusión los sistemas ACID fuerzan la consistencia de la base de datos en todo momento sacrificando parte de la disponibilidad. Sin embargo BASE gana disponibilidad perdiendo parte de la consistencia, otorgando un estado de los datos más flexible.