Pelo meu entendimento, a consistência no ACID é garantir a integridade dos dados.
No entanto, a consistência no CAP significa que os dados podem aparecer rapidamente no sistema distribuído.
Isso significa: eles não são o mesmo conceito?
distributed-databases
acid
Yang Xia
fonte
fonte
Teorema do CAP : especifica que um sistema distribuído pode fornecer dois serviços (ex. Disponibilidade e tolerância de partição), mas nunca três. Se, por exemplo, um serviço fornece Disponibilidade e Particionamento, ele nunca pode garantir Consistência, não imediatamente, portanto, a Consistência Eventual é usada, o que permite que a infraestrutura flua entre inconsistência e consistência; no entanto, a certa altura, mais cedo ou mais tarde, a infraestrutura se tornará consistente , resultando em eventual consistência. Os serviços em nuvem funcionam dessa maneira e o Simple DB da Amazon usa consistência eventual.
Os recursos ACID são geralmente aplicados aos bancos de dados relacionais. Se você deseja aplicar o ACID de maneira distribuída (banco de dados distribuído), o ACID usa 2PC (confirmação de duas fases) para forçar a consistência entre as partições. No entanto, como o ACID fornece consistência e particionamento, a aplicação do teorema CAP (ambientes distribuídos) significa que a disponibilidade está comprometida.
Por esse motivo , é utilizado o BASE (basicamente disponível, estado flexível, eventualmente consistente) que pode fornecer níveis de escalabilidade que não podem ser obtidos com o ACID.
Espero que isto ajude.
fonte
Em relação à consistência no teorema da PAC, Julian Brown escreve em seu artigo ( http://www.julianbrowne.com/article/brewers-cap-theorem ):
Assim, o C no CAP corresponderia ao A no ACID.
Com Gilbert e Lynch, ele se refere ao artigo "Seth Gilbert e Nancy Lynch: conjectura de Brewer e a viabilidade de serviços da Web consistentes, disponíveis e tolerantes a partições"
fonte