Protocolos de Multiversão

754 palavras 4 páginas
Protocolo de Controle de Multiversão

O protocolo MVCC permite que um dado mantenha seus valores antigos; assim a cada operação de escrita é criado novas versões do dao e na operação de leitura o SGBD escolhe a versão mais apropriada do dado em questão garantindo a serialização.
Esquema multiversão – Gera nova copia do item Q a cada write (Q) – Operacao read (Q) seleciona copia apropriada do item Q

A vantagem desse funcionamento é a recuperação dos dados através do histórico de evolução dos dados, BD temporal (caso extremo de armazenamento de dados historicos). Por outro lado, a desvantagem é o custo de armazenar várias versões de objetos no banco de dados.

Multiversão com ordenação por timestamp
- Cada versão do dado possui timestamps de leitura (R-TS) e escrita (W-TS), além do valor do dado.
- Uma transação T sempre acessa a versão Qk do dado com o maior W-TS que seja menor ou igual a TS(T).
- A transação T sempre lê a versão Qk
- Ao escrever, T é desfeita se TS(T) < R-TS(Qk ); senão, se TS(T) = W-TS(Qk ), o valor de Qk é alterado; caso contrário, uma nova versão de Q é criada.
- Versões antigas, com W-TS(Qk ) < TS(T), sendo T a última transação executada, podem ser removidas.
Funiconamento:
- Se Ti faz read(Q), entao valor retornado e Qk - Se TS(Ti) < R-TS(Qk ) então Ti é refeita, CC uma nova versão de Qk é criada. • Vantagem deste esquema é que a operação read nunca falha e nunca é atrasada. Desvantagem é atualizar R-TS a cada read; precisa refazer Ti em caso de conflito .

Exemplo:
T1
T2
Timestamps
Read (Aplic);
Aplic.Saldo –= 500
Write (Aplic);

TS(T1) = 1
R-TS(Aplic1) = 1
W-TS(Aplic2) = 1

Read (Conta);
Read (Aplic);
Print (Conta.Saldo + Aplic.Saldo);
TS(T2) = 2
R-TS(Conta1) = 2
R-TS(Aplic2) = 2

Read (Conta);
Conta.Saldo += 500;
Write (Conta);

R-TS(Conta1) = 2
R-TS(Conta1) > TS(T1) à T1 e T2 abortadas

T1
T2
read(p) p = p – 20 write(p) read(p) p = p + 30 write(p) read(d)

Relacionados

  • teste
    5789 palavras | 24 páginas
  • exercicio resolvido banco de dados
    596 palavras | 3 páginas
  • Sistemas
    3793 palavras | 16 páginas
  • Sgdbs
    2645 palavras | 11 páginas
  • Aula de banco de dados ii - transações sqls
    3494 palavras | 14 páginas
  • Transações banco de dados
    1984 palavras | 8 páginas
  • Banco de dados
    1456 palavras | 6 páginas
  • controle de concorrencia
    5513 palavras | 23 páginas
  • ESTUDO COMPARATIVO BDS
    16557 palavras | 67 páginas
  • Sistema de Gestão de Alunos e Professores
    5946 palavras | 24 páginas