T5t45

556 palavras 3 páginas
11/01/2013

Recuperaçã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

Relacionados