SóProvas


ID
27616
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Para a gerência de bloqueios em bancos de dados são feitas as afirmativas a seguir.

I - Um modo de prevenir a ocorrência de deadlocks (impasses) é fazer com que todas as transações bloqueiem antecipadamente todos os itens de que precisam: se qualquer um dos itens não puder ser bloqueado, todos devem ser liberados. Embora previna a ocorrência de deadlocks, essa solução limita o nível de concorrência no sistema.
II - Bloqueios binários são aqueles que permitem dois estados (ou valores): locked (bloqueado) e unlocked (desbloqueado). Os bloqueios binários são sempre do tipo exclusivo: nenhuma transação diferente da que obteve o lock pode acessar os dados bloqueados.
III - Bloqueios podem ser obtidos em itens do banco de dados de diferentes granularidades, como, por exemplo: registros, blocos, tabelas e, até mesmo, todo o banco de dados. Tendo em vista que os itens de diferentes granularidades formam uma hierarquia em forma de árvore, uma mesma transação pode obter diferentes tipos de bloqueios nos nós, ao longo do caminho da raiz (banco de dados) até um nó específico da árvore.
IV - O protocolo de bloqueio em duas fases (two-phase locking) é composto pelas fases: (i) de expansão (ou crescimento), onde bloqueios são obtidos, mas nenhum bloqueio pode ser liberado, e (ii) de encolhimento (ou retrocesso), onde bloqueios existentes são liberados, mas nenhum novo bloqueio pode ser obtido.
V - Quando uma transação T1 obtém um bloqueio exclusivo sobre um item, nenhuma outra transação poderá alterar o dado bloqueado, sendo possível apenas ler tal dado. Quando uma transação T1 obtém um bloqueio do tipo compartilhado, será possível a outras transações ler e alterar o dado bloqueado, sendo somente proibida a exclusão de tal dado.

Estão corretas apenas as afirmativas:

Alternativas
Comentários
  • II - Resposta : E

    • No método de lock binário, seja qual for o tipo de acesso (read ou write), apenas uma transação pode acessar um item de dado ao mesmo tempo.
    • Com o método de lock compartilhado/exclusivo o objetivo é permitir que mais de uma transação possa acessar o mesmo dado, ao mesmo tempo, para leitura (read), e apenas uma transação possa acessar para escrita (write).

    V - Resposta : E Basicamente todos os tipos de bloqueios nascem a partir de dois tipos principais: bloqueio compartilhado (S) e o bloqueio exclusivo (X), esta é uma classificação simplória, mas servirá ao propósito de facilitar o entendimento do processo. Ao receber um bloqueio do tipo compartilhado sobre um item de dados, uma transação garante a possibilidade de leitura, mas não de escrita sobre o item em questão. Ao receber o bloqueio do tipo exclusivo terá o direito tanto de leitura quando de escrita sobre o item de dados.

    As demais questões estão corretas.
  • Não entendi o porquê do item ii estar errado. Inclusive achei referências que confirmam que ele está certohttp://www.ic.unicamp.br/~thelma/gradu/MC526/turma-2006/Slides-aulas/Aula22-Controle_concorr.pdf
  • II - Só quem pode alterar o dado bloqueado é a transação que o bloqueou, mas é possível que outras leiam este dado. Por isso o ítem está errado. IV - São duas as fases. A de votação ou requisição de commit.- O coordenador manda uma mensagem de query to commit para todas as partes e espera as respostas;- As partes executam a query até o ponto onde ocorrerá o commit;- As partes escrevem entradas no seu log de undo e redo.- As partes respondem com uma mensagem de agreement dizendo sim para o commit ou abort caso contrário.A fase de commit ou completion- caso sucesso+ o coordenador manda mensagem de commit a todas as partes;+ cada parte completa a operação e solta o lock+ cada parte manda um ack para o coordenador;+ o coordenador completa a transação com a chegada de todos os acks.- caso falha+ o coordenador manda mensagem de rollback a todas as partes;+ cada parte desfaz a operação usando o log de undo e solta o lock+ cada parte manda um ack para o coordenador;+ o coordenador desfaz a transação com a chegada de todos os acks.
  • Achei a afirmativa II bem mal formulada. Tudo bem, podemos considerá-la errada por que misturou conceitos diferentes. Lock exclusivo/compartilhado com binário. O problema é talvez o português. Eu acertei a resposta, mas a afirmativa leva a gente a pensar que ele está comparando o tipo de bloqueio e neste sentido, na minha opinião, ela está correta. O bloqueio exclusivo não permite que nenhuma outra transação acesse o dado bloqueado e esta é a situação do dado bloqueado no bloqueio binário. A sutileza da frase está no trecho "é do tipo exclusivo".

    Acertei basicamente por que tinha certeza que a V estava errada e a I e IV corretas, mas se uma das opções de resposta fosse I, II e IV eu teria errado, pois estava em dúvida sobre a III.

    Digo que está mal formulada por que muita gente que entende o que a questão diz pode ter errado, portanto ela não mede se o respondente sabe e creio que isso é que deveria interessar às instituições.

    Abraços, Edu.

  • Realmente, péssima a formulação do item II.
    Com muita boa vontade dá pra aceitar, pois o termo "bloqueio exclusivo" não é usado pela técnica de bloqueio binário, apesar do conceito deste ser sempre o de um bloqueio exclusivo, pois somente a transação que bloqueou o item podem usá-lo.

    Mas pelo gabarito dá pra acertar por causa das alternativa I e IV.