Teorema do CAP vs. BASE (NoSQL)
Olá, estou tentando escrever um pequeno artigo para o meu trabalho sobre o NoSQL e descrevi o Teorema do CAP como, se não todos, a maioria dos bancos de dados NoSQL. Mais tarde, li um artigo sobre a diferença entre o NoSQL e o RDBMS, que afirmava que os bancos de dados NoSQL usam o BASE do ACID.
Conheço as propriedades de BASE, ACID e CAP, mas tenho dificuldade em descobrir qual a relação entre o teorema do CAP e o BASE. Pelo que entendi, o teorema da CAP leva à sigla BASE, mas é a conclusão correta? Ou são duas abordagens diferentes para "construir" um banco de dados em torno do qual compartilham algumas propriedades semelhantes?
Nesta publicação do blog (http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/), o autor escreve:
É mais difícil desenvolver software no mundo BASE tolerante a falhas em comparação com o mundo exigente do ACID, mas o teorema do CAP de Brewer diz que você não tem escolha se deseja aumentar a escala. No entanto, como Brewer aponta nesta apresentação, há um continuum entre ACID e BASE. Você pode decidir o quão perto deseja estar de um extremo do continuum ou do outro, de acordo com suas prioridades.
Em outro artigo, o autor escreve:
Muitos dos bancos de dados NOSQL, acima de tudo, afrouxaram os requisitos de consistência para obter melhor disponibilidade e particionamento. Isso resultou em sistemas conhecidos como BASE (Basicamente disponível, estado suave, eventualmente consistente). Eles não têm transações no sentido clássico e introduzem restrições no modelo de dados para permitir melhores esquemas de partição (como o sistema Dynamo etc.). Uma discussão mais abrangente sobre CAP, ACID e BASE está disponível nesta introdução.
Isto indica claramente que a PAC resulta em BASE.
Espero que alguém possa me esclarecer isso e remover minha confusão.
Obrigado
- Mestika