No âmbito de bancos dados, especialmente NoSQL, o Teorema C...
No âmbito de bancos dados, especialmente NoSQL, o Teorema CAP sustenta que há três requerimentos básicos que existem numa relação especial quando se projeta uma aplicação com uma arquitetura distribuída. Basicamente, respalda a tese de que não se pode obter os três simultaneamente.
Esses três requerimentos são
LETRA C
O Teorema CAP vem do inglês: Consistency (Consistência), Availability (Disponibilidade) e Partition Tolerance (Partição tolerante a falhas). Ele afirma que, em um sistema com distribuição de dados, é impossível obter simultaneamente mais de duas das três garantias.
Diferente dos bancos de dados Relacionais os bancos de dados NoSQL possuem a Propriedade BASE:
Basically Available – em vez de impor consistência imediata, os bancos de dados NoSQL modelados em BASE garantirão a disponibilidade dos dados, espalhando-os e replicando-os nos nós do cluster de banco de dados.
Soft State – devido à falta de consistência imediata, os valores dos dados podem mudar com o tempo. O modelo BASE rompe com o conceito de banco de dados que impõe consistência própria, delegando essa responsabilidade aos desenvolvedores.
Eventually Consistent – O fato de que o BASE não impõe consistência imediata não significa que nunca a atinge. No entanto, até que isso aconteça, as leituras de dados ainda são possíveis (embora possam não refletir a realidade).
Alternativa correta: C - Consistency, Availability e Partition Tolerance.
O Teorema CAP, introduzido por Eric Brewer, é um conceito fundamental no design de sistemas distribuídos, especialmente em bancos de dados NoSQL. Este teorema afirma que é impossível em um sistema distribuído proporcionar mais do que duas das três seguintes garantias simultaneamente:
- Consistency (Consistência): Todos os nós veem os mesmos dados ao mesmo tempo. Uma escrita de sucesso deve ser refletida em todas as leituras subsequentes.
- Availability (Disponibilidade): O sistema deve garantir que toda requisição recebe uma resposta sobre se foi bem-sucedida ou não. Não pode haver falhas inesperadas que deixem o sistema sem resposta.
- Partition Tolerance (Tolerância a Partições): O sistema deve continuar a operar apesar de ter partições (ou seja, a comunicação entre dois nós falha, seja por problemas de rede ou por qualquer outro motivo).
Esses três aspectos formam um tripé de propriedades que, segundo o teorema, não podem ser atendidos em sua totalidade ao mesmo tempo. Dependendo do sistema e da aplicação que está sendo projetada, o desenvolvedor ou arquiteto terá que priorizar duas dessas propriedades em detrimento da terceira.
Portanto, a alternativa C está correta porque enumera exatamente os três componentes do Teorema CAP: Consistency, Availability e Partition Tolerance. Cada um desses aspectos é essencial para compreender a dinâmica e as limitações dos sistemas distribuídos. Em um exame ou ambiente de concurso, entender esses conceitos pode ajudar a resolver questões relacionadas a bancos de dados NoSQL e o design de sistemas distribuídos.