Según tengo entendido, la consistencia en ACID es garantizar la integridad de los datos.
Sin embargo, la consistencia en CAP significa que los datos pueden aparecer rápidamente en el sistema distribuido.
¿Eso significa que no son el mismo concepto?
distributed-databases
acid
Yang Xia
fuente
fuente
Teorema de CAP : especifica que un sistema distribuido puede proporcionar dos servicios (por ejemplo, disponibilidad y tolerancia de partición) pero nunca tres. Si, por ejemplo, un servicio proporciona disponibilidad y particionamiento, nunca puede garantizar la coherencia, no inmediatamente, por lo tanto, se utiliza la coherencia eventual, lo que permite que la infraestructura fluya entre inconsistencia y consistencia, sin embargo, en un momento, tarde o temprano, la infraestructura se volverá consistente , resultando en una consistencia eventual. Los servicios en la nube funcionan de esta manera y Simple DB de Amazon utiliza la consistencia eventual.
Las características de ACID generalmente se aplican a bases de datos relacionales. Si desea aplicar ACID de forma distribuida (DB distribuida), ACID utiliza 2PC (confirmación en dos fases) para forzar la coherencia entre las particiones. Sin embargo, dado que ACID proporciona consistencia y particionamiento, la aplicación del teorema CAP para (entornos distribuidos) significará que la disponibilidad está comprometida.
Debido a esto, se usa BASE (Básicamente disponible, estado blando, eventualmente consistente) que puede proporcionar niveles de escalabilidad que no se pueden obtener con ACID.
Espero que esto ayude.
fuente
Con respecto a la consistencia en el teorema de CAP, Julian Brown escribe en su artículo ( http://www.julianbrowne.com/article/brewers-cap-theorem ):
Por lo tanto, la C en CAP correspondería a la A en ACID.
Con Gilbert y Lynch se refiere al artículo "Seth Gilbert y Nancy Lynch: la conjetura de Brewer y la viabilidad de servicios web consistentes, disponibles y tolerantes a la partición"
fuente