SóProvas


ID
1047259
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Com relação ao controle de concorrência e à alta disponibilidade de banco de dados, julgue os itens a seguir.

Quando o protocolo 2PL é utilizado para fazer o controle de concorrência, o desfazimento de uma transação pode levar ao desfazimento de outras transações, em um efeito cascata.

Alternativas
Comentários
  • Pode-se provar que, se toda transação em um escalonamento segue o

    protocolo 2PL, então a transação é serializável. Embora o protocolo 2PL garanta

    a serializabilidade, bloqueios podem gerar dois problemas: impasse (deadlock) e

    inanição (livelock).

    Deadlock ocorre quando, existem duas transações bloqueando o mesmo

    item e cada uma das duas está esperando que a outra libere este bloqueio. A

    solução mais comum para este problema de impasse é abortar uma das

    transações envolvidas. Existem diversas implementações diferentes para decidir

    qual transação deve ser interrompida no caso de um impasse, geralmente é

    escolhida a transação mais nova. Isso pode causar o livelock (quando o sistema

    não consegue decidir qual das transações deve ser abortada), então é introduzida

    uma prioridade para as transações (por exemplo, maior prioridade para

    transações que já foram abortadas anteriormente).

    Variação do protocolo 2PL

    Além do protocolo básico, existem duas variações comumente adotadas do

    protocolo 2PL:

    2PL conservador (ou estático) – requer que todos os itens a serem usados por

    uma transação (lidos ou escritos) sejam bloqueados antes do início da transação.

    Esta variação do protocolo evita que sejam gerados deadlocks.

    2PL estrito – a transação não libera seus bloqueios até que tenha sido

    comprometida ou abortada (diminui o grau de concorrência do sistema, mas evita

    ter que desfazer transações).

    http://www.cpdee.ufmg.br/documentos/PublicacoesDefesas/636/bd2.pdf

  • A questão exige do candidato a compreensao do funcinamento do protocolo 2 Phase Lock no modo Básico. Vamos aos comentários:

     

    O 2PL (2 phase lock) é um protocolo baseado em bloqueio para evitar inconsistencias na transacao. O funcionamento do protocolo no modo Básico (padrao) pressupoe que itens da mesma transacao podem estar no estado LOCK e UNLOCK. É nessa caracteristica de funcionamento que podemos observar semanticamente o comportamento descrito na assertiva, ou seja, um item da transacao inicial que ja foi liberado (UNLOCK) pode ser requisitado por uma nova transacao. Caso a transacao inicial(que ainda nao tinha sido finalizada em todos os seus itens) precise ser desfeita, a transacao subsequente (que estava utilizando o item liberado anteriormente) tambem será impactada pelo desfazimento.

     

    Gabarito, CERTO.

     

    FFF