T5t45
556 palavras
3 páginas
11/01/2013Recuperação com Transações Concorrentes
Projeto de Banco de Dados
Se T0 precisa ser desfeita, mas T1 trabalhou com o novo valor gerado por T0, então T1 também precisaria ser desfeita.
Sistema de Recuperação
Continuação
Para evitar UNDO’s em cascata, uma transação bloquearia o item de dado até a sua efetivação
(bloqueio em duas fases severo).
PROF. MSC. THIAGO ELIAS
CHECKPOINT
Antes, como não havia concorrência, bastava considerar as seguintes transações para o processo de recuperação:
Aquelas que iniciaram após o Checkpoint mais recente.
Aquelas que estavam ativas no momento da escrita do checkpoint. Processo de Recuperação
Existem duas listas:
Lista de Refazer (redo-list):
Lista de inutilizar (undo-list):
Para a montagem de cada lista, é varrido o arquivo de log, de trás pra frente, até encontrar o primeiro
.
No caso de considerarmos a concorrência, deve haver: Para cada encontrado, adiciona Ti à lista de refazer
Para cada encontrado, se Ti não estiver na lista refazer, adiciona-se na lista de inutilizar.
, onde L é a lista de transações ativas.
Depois disso, checa-se o L do . Para cada transação Ti em L, se Ti não estiver na lista refazer, então será adicionada à lista de inutilizar. POR QUE?!!!
Controle de Concorrência
Projeto de Banco de Dados
Importância da propriedade ISOLAMENTO.
Estudaremos os Protocolos Baseados em Bloqueios.
O princípio desses protocolos é que o acesso deve ser feito de forma multuamente exclusiva.
Controle de Concorrência
Tipos de Bloqueios:
Compartilhado (S): só pode ler.
Exclusivo (X): ler e escreve.
Lock-X(Q)
Lock-S(Q)
Unlock(Q)
PROF. MSC. THIAGO ELIAS
1
11/01/2013
Protocolo Baseado em Bloqueio
Problema!!! Considere as duas transações abaixo:
Protocolo Baseado em Bloqueio
Solução:
Considere que os desbloqueios sejam feitos apenas no final das transações Agora considere a escala:
Continua.......
Protocolo Baseado