O Teorema CAP está relacionado a bancos de dados NoSQL e con...

Próximas questões
Com base no mesmo assunto
Q3449435 Banco de Dados

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:

Alternativas

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