SóProvas


ID
770257
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A utilização de SGBD permite o gerenciamento do acesso concorrente, ou seja, permite atualizações simultâneas nos dados para aumento do desempenho do sistema como um todo e para melhores tempos de resposta.

Alternativas
Comentários
  • Questao muito generica; essa funçao e', especificamente, do  gerenciador de controle de concorrencia, que e' um modulo do SGBD.
    Toda vez q uma transacao T1 precisa acessar um item de dados, ela, antes, envia uma solicitacao ao gerenciador de controle de concorrencia(GCC). Se o item nao estiver bloqueado por outra transacao, ou se o bloqueio mantido por alguma outra transacao for compativel com o bloqueio solicitado, o GCC concede o bloqueio a T1; caso contrario, ela tem q esperar.
    E tudo isso, obviamente, sob controle geral do SGBD, por meio do GCC.
  • "atualizações simultâneas" mas item não é bloqueado antes de ser alterado para que outra transação não acesse ele??
  • Sem complicar nem extrapolar a questão.
    1º O gerenciador de concorrência faz parte do SGBD. Dessa forma, não há equívoco ao dizer que o SGBD permite o gerenciamento de acesso concorrente.
    2º A questão afirma "atualizações simultâneas nos dados", do ponto de vista dos dados como um todo. Em nenhum momento a questão restringe dizendo que serão atualizados os mesmos dados, ou seja, os que estariam sujeitos ao lock. A questão trata de atualização dos dados do BD de maneira simultânea, e.g., duas aplicações que atualizam duas tabelas distintas simultaneamente em um mesmo BD.
    Como essas características tendem a aumentar odesempenho, pois não é preciso esperar a realização serial das operações, o item está correto em sua totalidade.
  • Então, na minha visão é preciso cuidado com esse tipo de questão. Realmente, ele fala de atualizações em considerações gerais. Mas isso é um erro de expressão. Pois um caso é geral quando um caso específico não nega a verdade do caso.

    No caso da questão, se você considerar o controle de concorrência como sendo o bloqueio, um caso específico negaria a verdade do caso, pois ao escrever, o item é bloqueado. O caso só funcionaria se fosse atualizações em duas tabelas diferentes.

    Porém, se considerarmos outro controle de concorrência, como o timestamp, a questão se torna correta. Pois ele não usa o bloqueio. O controle se dá por uso de uma variável incrementada e as atualizações ocorrem em várias versões do dado. O controle se dá pelo timstamp da transação, que vai verificar qual das versões dos dados tem o timestamp mais recente e considera ele. 

    Esse é o protocolo de multi-versão com uso de timestamp. Ele é feito para eliminar o aumento da concorrência causado pela escrita de thomas (forma de timestamp que ao perceber um timestap da transação mais antigo que o timestamp do itme, não descarta a transação. Apenas não a executa, causando maior concorrência) e do impedimento de atualização simultânea do timestamp, pois ao perceber que a transação tem um timestamp da transação é menor que o do item, ele descarta a transação.

  • CERTO