SóProvas


ID
230119
Banca
FUNCAB
Órgão
PRODAM-AM
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Ummétodo que visa garantir a serialização de transações utiliza a seguinte estratégia: todas as operações de leitura (read_lock) ou escrita (write_lock) deverão ocorrer antes da primeira operação de desbloqueio (unlock) na transação.

Como é chamado tal protocolo de bloqueio?

Alternativas
Comentários
  • Two-Fase-Lock ou Bloqueio em duas fases é composto pela fase de expansão ou crescimento, que são os pedidos de lock porém sem que ocorra o desbloqueio do lock, e a segunda fase que é a fase de liberação ou encolhimento, aonde são feitos os desbloqueios de lock, porém novos locks não são mais feitos.
  • Para complementar os estudos, seguem as variações dos bloqueios em 2 fases:

    2PL básico. Ocorre se todas as operações de bloqueio precedem a primeira operação de desbloqueio na transação, podendo ser dividida em 2 fases:
    expansão: novos bloqueios podem ser adquiridos, mas nenhum liberado;
    encolhimento: bloqueios existentes podem ser liberados e nenhum adquirido.

    2PL conservador (ou 2PL estático). Requer q 1 transação bloqueie todos os itens q ela acessa antes q ela inicie a execução. Se qualquer 1 dos itens não puder ser bloqueado, a transação não bloqueia item algum, ficando na espera. É livre de deadlock.

    2PL estrito. Uma transação T não libera nenhum de seus bloqueios exclusivos ate depois de confirmar ou abortar. Pode ocorrer deadlock.

    2PL rigoroso.Variação do estrito, onde 1 transação T não libera seus bloqueios (X ou S) ate depois de confirmar ou abortar, sendo mais fácil de implementar q o estrito.
    Alternativa: C
  • LETRA C. ESTA QUESTÃO FOI RETIRADA DO LIVRO DO NAVATHE. VOU COPIÁ-LA NOVAMENTE SÓ PARA MENCIONAR A BIBLIOGRAFIA.

    Segundo Navathe(2011,p.527),"Diz-se que uma transação segue o protocolo de bloqueio em duas fases se todas as operações de bloqueio (read_lock, write_lock) precedem a primeira operação de desbloqueio na transação."

    Bibliografia:

    SISTEMAS DE BANCO DE DADOS-6 EDIÇÃO 2011-NAVATHE


  • Nesse tipo de protocolo imagine que em toda a transação existem dois pontos distintos: um ponto (fase) para realizar APENAS os bloqueios (read_lock ou write_lock) e outro ponto (fase) para fazer APENAS os desbloqueios (unlock). A primeira fase é chamada de crescimento e a seguda de encolhimento.
    Exemplo:
    READ_LOCK(X) 
    READ(X) 
    READ_LOCK(Y) 
    READ(Y) 
    READ_LOCK(Z) 
    READ(Z) 
    WRITE_LOCK(Z)    **final da primeira fase**

    Z←X+Y 


    UNLOCK(Y) 
    UNLOCK(X) 
    UNLOCK(Z)            **final da segunda fase**