fbpx
Wikipedia

Teorema CAP

En Ciencias de la computación, el teorema CAP, también llamado Conjetura de Brewer, enuncia que es imposible para un sistema de cómputo distribuido garantizar simultáneamente:[1][2]

  • La consistencia (Consistency), es decir, cualquier lectura recibe como respuesta la escritura más reciente o un error.
  • La disponibilidad (Availability), es decir, cualquier petición recibe una respuesta no errónea, pero sin la garantía de que contenga la escritura más reciente.
  • La tolerancia al particionado (Partition Tolerance), es decir, el sistema sigue funcionando incluso si un número arbitrario de mensajes son descartados (o retrasados) entre nodos de la red.

Según el teorema, un sistema no puede asegurar más de dos de estas tres características simultáneamente.[3]

Historia

El teorema comenzó como una conjetura, presentada por Eric Brewer, de la Universidad de Berkeley en el año 2000 durante el Simposio de Principios de Computación Distribuida (PODC, en inglés).[4]​ En 2002, Seth Gilbert y Nancy Lynch, del MIT, publicaron una demostración formal de la conjetura, convirtiéndola en un teorema.[1]

Explicación

Ningún sistema distribuido está a salvo de las fallas de la red, por lo tanto , la partición de la red generalmente tiene que ser tolerada. En presencia de una partición, una se queda con dos opciones: consistencia o disponibilidad . Al elegir la consistencia sobre la disponibilidad, el sistema devolverá un error o un tiempo de espera si no se puede garantizar que la información particular esté actualizada debido a la partición de la red. Al elegir la disponibilidad por coherencia, el sistema siempre procesará la consulta e intentará devolver la versión disponible más reciente de la información, incluso si no puede garantizar que esté actualizada debido a la partición de la red.

En ausencia de falla de la red, es decir, cuando el sistema distribuido se está ejecutando normalmente, se puede satisfacer tanto la disponibilidad como la consistencia.

Con frecuencia, la CAP se malinterpreta como si uno tuviera que elegir abandonar una de las tres garantías en todo momento. De hecho, la elección es realmente entre la consistencia y la disponibilidad solo cuando ocurre una partición de red o falla; en cualquier otro momento, no hay que hacer concesiones.

Los sistemas de base de datos diseñados teniendo en cuenta las garantías tradicionales de ACID , como RDBMS, eligen la consistencia sobre la disponibilidad, mientras que los sistemas diseñados en torno a la filosofía BASE , comunes en el movimiento NoSQL , por ejemplo, eligen la disponibilidad sobre la consistencia.

El teorema de CAPELC se basa en CAP al afirmar que, incluso en ausencia de partición, se produce otra compensación entre la latencia y la consistencia.

Ejemplos

Según satisfagan unos criterios u otros, podemos encontrar:

Referencias

  1. Nancy Lynch and Seth Gilbert, “Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services”, ACM SIGACT News, Volume 33 Issue 2 (2002), pg. 51-59.
  2. "Brewer's CAP Theorem", julianbrowne.com, Retrieved 02-Mar-2010
  3. "Brewers CAP theorem on distributed systems" el 12 de abril de 2011 en Wayback Machine., royans.net
  4. Eric Brewer, "Towards Robust Distributed Systems"

Enlaces externos

  • "Problems with CAP, and Yahoo's little known NoSQL system" by Daniel Abadi
  • el 23 de junio de 2012 en Wayback Machine. "Consistency Models in Non-Relational Databases"] by Guy Harrison: Una buena descripción del Teorema del CAP, de la Consistencia Eventual y de cómo se pueden tratar los problemas de consistencia en entornos distribuidos.
  •   Datos: Q856032

teorema, ciencias, computación, teorema, también, llamado, conjetura, brewer, enuncia, imposible, para, sistema, cómputo, distribuido, garantizar, simultáneamente, consistencia, consistency, decir, cualquier, lectura, recibe, como, respuesta, escritura, más, r. En Ciencias de la computacion el teorema CAP tambien llamado Conjetura de Brewer enuncia que es imposible para un sistema de computo distribuido garantizar simultaneamente 1 2 La consistencia Consistency es decir cualquier lectura recibe como respuesta la escritura mas reciente o un error La disponibilidad Availability es decir cualquier peticion recibe una respuesta no erronea pero sin la garantia de que contenga la escritura mas reciente La tolerancia al particionado Partition Tolerance es decir el sistema sigue funcionando incluso si un numero arbitrario de mensajes son descartados o retrasados entre nodos de la red Segun el teorema un sistema no puede asegurar mas de dos de estas tres caracteristicas simultaneamente 3 Indice 1 Historia 2 Explicacion 3 Ejemplos 4 Referencias 5 Enlaces externosHistoria EditarEl teorema comenzo como una conjetura presentada por Eric Brewer de la Universidad de Berkeley en el ano 2000 durante el Simposio de Principios de Computacion Distribuida PODC en ingles 4 En 2002 Seth Gilbert y Nancy Lynch del MIT publicaron una demostracion formal de la conjetura convirtiendola en un teorema 1 Explicacion EditarNingun sistema distribuido esta a salvo de las fallas de la red por lo tanto la particion de la red generalmente tiene que ser tolerada En presencia de una particion una se queda con dos opciones consistencia o disponibilidad Al elegir la consistencia sobre la disponibilidad el sistema devolvera un error o un tiempo de espera si no se puede garantizar que la informacion particular este actualizada debido a la particion de la red Al elegir la disponibilidad por coherencia el sistema siempre procesara la consulta e intentara devolver la version disponible mas reciente de la informacion incluso si no puede garantizar que este actualizada debido a la particion de la red En ausencia de falla de la red es decir cuando el sistema distribuido se esta ejecutando normalmente se puede satisfacer tanto la disponibilidad como la consistencia Con frecuencia la CAP se malinterpreta como si uno tuviera que elegir abandonar una de las tres garantias en todo momento De hecho la eleccion es realmente entre la consistencia y la disponibilidad solo cuando ocurre una particion de red o falla en cualquier otro momento no hay que hacer concesiones Los sistemas de base de datos disenados teniendo en cuenta las garantias tradicionales de ACID como RDBMS eligen la consistencia sobre la disponibilidad mientras que los sistemas disenados en torno a la filosofia BASE comunes en el movimiento NoSQL por ejemplo eligen la disponibilidad sobre la consistencia El teorema de CAPELC se basa en CAP al afirmar que incluso en ausencia de particion se produce otra compensacion entre la latencia y la consistencia Ejemplos EditarSegun satisfagan unos criterios u otros podemos encontrar AP Cassandra y CouchDB CP MongoDB y Paxos CA RDBMS Referencias Editar a b Nancy Lynch and Seth Gilbert Brewer s conjecture and the feasibility of consistent available partition tolerant web services ACM SIGACT News Volume 33 Issue 2 2002 pg 51 59 Brewer s CAP Theorem julianbrowne com Retrieved 02 Mar 2010 Brewers CAP theorem on distributed systems Archivado el 12 de abril de 2011 en Wayback Machine royans net Eric Brewer Towards Robust Distributed Systems Enlaces externos Editar Problems with CAP and Yahoo s little known NoSQL system by Daniel Abadi CAP equivalent for analytics https web archive org web 20120623022526 https web archive org web 20120623022526 http dbpedias com wiki NoSQL Consistency Models in Non Relational Databases Archivado el 23 de junio de 2012 en Wayback Machine Consistency Models in Non Relational Databases by Guy Harrison Una buena descripcion del Teorema del CAP de la Consistencia Eventual y de como se pueden tratar los problemas de consistencia en entornos distribuidos Datos Q856032 Obtenido de https es wikipedia org w index php title Teorema CAP amp oldid 125463450, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos