SóProvas


ID
1404496
Banca
FGV
Órgão
PROCEMPA
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

O teorema CAP (CAP Theorem) é um importante resultado teórico na Ciência da Computação, e frequentemente é referenciado na comparação entre sistemas de bancos de dados “tradicionais” e aqueles que são conhecidos pela sigla NoSQL. Esse teorema aborda as propriedades (ou garantias) que um sistema de banco de dados deve prover, e é central na discussão das conveniências de utilização de um ou outro modelo.

Assinale a opção que descreve, corretamente, o significado das letras na sigla CAP.

Alternativas
Comentários
  • Consistency means that each client always has the same view of the data.
    Availability means that all clients can always read and write.
    Partition tolerance means that the system works well across physical network partitions.

    http://blog.nahurst.com/visual-guide-to-nosql-systems

  • Teorema do CAP, também chamado de Teorema de BREWER, afirma que é impossível que o armazenamento de dados distribuído forneça simultaneamente mais de duas das três garantias seguintes:

    ü  CONSISTÊNCIA: Cada leitura recebe a escrita mais recente ou um erro

    ü  DISPONIBILIDADE (AVAILABILITY) - Cada pedido recebe uma resposta (sem erro) - sem garantia de que contém a escrita mais recente

    ü  PARTIÇÃO - O sistema continua a funcionar apesar de um número arbitrário de mensagens serem descartadas (ou atrasadas) pela rede entre nós. A tolerância ao particionamento que garante sua escalabilidade.

    Em outras palavras, o teor do CAP afirma que, na presença de uma partição da rede, é preciso escolher entre consistência e disponibilidade. A consistência conforme definida no teor de CAP é bastante diferente da consistência garantida em transações de bases de dados ACID.

  • O teorema CAP diz respeito a três propriedades:

    Consistência (consistency)Cópias do mesmo dado devem ter o mesmo valor, respeitando a integridade do modelo.

    Disponibilidade (availability)É a medida que se refere ao percentual de tempo em que o sistema fica disponível para receber e responder requisições. Um sistema que passa 99.9999...% do tempo “no ar” é um sistema com alta disponibilidade.

    Tolerância a particionamento (partition tolerance)Em caso de falhas de rede que tornem o sistema distribuído segregado em subredes incomunicáveis entre si, o sistema deve permanecer no ar e disponível para receber e responder requisições.

    O teorema afirma que não é possível garantir as três propriedades ao mesmo tempo. Em especial, os sistemas NoSQL costumam flexibilizar a consistência, fornecendo consistência eventual. Isso pode ser necessário para que o sistema tenha alta disponibilidade e consiga lidar com o volume e a velocidade dos dados.