O Teorema CAP está relacionado a bancos de dados NoSQL e con...
O Teorema CAP está relacionado a bancos de dados NoSQL e consiste em 3 requisitos que deram nome ao teorema, sendo eles Consistência (Consistency), Disponibilidade (Availability) e Tolerância à partição (Partition tolerance). Segundo o seu proponente, Eric Brewer, é impossível obter um sistema que atenda aos 3 requisitos. Relacione os bancos de dados com os pares de características do Teorema CAP.
(MARQUESONE, Rosangela. Big Data: Técnicas e tecnologias para extração de valor dos dados. Editora Casa do Código, 2016.)
I - MongoDB e Big Table
II - SGBDR e Neo4J
III - CouchDB e Cassandra
(a) Consistência e Disponibilidade
(b) Consistência e Tolerância à partição
(c) Disponibilidade e Tolerância à partição
Segundo Marquesone (2016), assinale a alternativa que relaciona CORRETAMENTE os bancos de dados da primeira coluna com os requisitos da segunda:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - I-b, II-a e III-c.
Tema central: A questão aborda o Teorema CAP, essencial para entender como bancos de dados NoSQL e tradicionais se comportam frente a três propriedades fundamentais: Consistência (C), Disponibilidade (A) e Tolerância à Partição (P). Compreender o equilíbrio entre esses atributos é crucial para arquitetar sistemas distribuídos seguros e eficazes.
Resumo teórico: Proposto por Eric Brewer, o Teorema CAP afirma que, em um sistema distribuído, só é possível garantir plenamente dois dos três requisitos simultaneamente:
- Consistência: Todos os nós exibem os mesmos dados ao mesmo tempo.
- Disponibilidade: Cada solicitação recebe uma resposta (mesmo que desatualizada).
- Tolerância à partição: O sistema opera mesmo com falha de comunicação entre partes.
Fontes: Marquesone (2016); Eric Brewer; Documentação MongoDB, Cassandra e BigTable.
Justificativa da alternativa correta:
- I - MongoDB e Big Table são exemplos clássicos de bancos CP (Consistência e Tolerância à partição), sacrificando a disponibilidade em caso de partição de rede.
- II - SGBDR (Sistemas tradicionais como Oracle, PostgreSQL) e Neo4J são típicos de CA (Consistência e Disponibilidade), pois geralmente não são tolerantes a partições (não foram feitos para ambientes distribuídos).
- III - CouchDB e Cassandra são exemplos AP (Disponibilidade e Tolerância à partição), podendo sacrificar a consistência momentaneamente em situações de falha.
Assim, a distribuição correta é: I-b, II-a e III-c.
Análise das alternativas incorretas:
- B: Troca o perfil do MongoDB/Big Table para CA, o que não corresponde à arquitetura real desses bancos.
- C: Atribui CP a CouchDB e Cassandra, que priorizam disponibilidade e tolerância à partição.
- D: Erra ao atribuir Disponibilidade e Tolerância à partição para MongoDB/Big Table, pois são CP.
- E: Também inverte as classificações corretas, confundindo os perfis de cada sistema.
Estrategicamente: Observe sempre o foco operacional de cada banco e lembre-se que, segundo o CAP, em partições de rede é preciso escolher entre manter a consistência ou a disponibilidade.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo