A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Recuperação Como garantir a integridade da informação, em caso de avarias de HW ou SW forma de suportar a reposição de um estado consistente da informação.

Apresentações semelhantes


Apresentação em tema: "Recuperação Como garantir a integridade da informação, em caso de avarias de HW ou SW forma de suportar a reposição de um estado consistente da informação."— Transcrição da apresentação:

1 Recuperação Como garantir a integridade da informação, em caso de avarias de HW ou SW forma de suportar a reposição de um estado consistente da informação na memória estável (BD em disco) suportar tecnicamente metáfora da atomicidade das transacções Falhas mais graves avaria do meio de armazenamento ou memória estável recuperação baseada em reposição de cópias de segurança Falhas menos graves falhas do sistema (corte de alimentação) que afectam a memória volátil há técnicas para lidar com estas situações

2 O jornal da BD técnica base: construir um jornal (log) para registar as alterações na BD, com linhas dos tipos: (T, begin) marca início da transacção T (T, I, a, v) para cada escrita do valor v no item I o valor anterior a é necessário no caso de se pretender desfazer T codificar apenas alterações no caso de o item ser muito grande (T, commit) no ponto de cometimento (T, abort) em caso de cancelamento

3 Análise do jornal Exemplo de jornal:
passo entrada antes de (1) (T1, begin) (4) (T1, A, 10, 9) antes de (7) (T2, begin) (11) (T2, A, 9,18) (12) (T2 commit) depois de (14) (T1, abort) após a falha, a rotina de recuperação analisa o jornal conclui que T1 abortou ou pelo menos nunca chegou ao cometimento os seus efeitos têm que ser desfeitos valor antigo requerido para repor situação inicial relançar T1 T2 tem também que ser desfeita e relançada implica registar leituras e ligar transacção ao código respectivo T1 T2 (1) LOCK A (2) READ A (3) A:= A-1 (4) WRITE A (5) LOCK B (6) UNLOCK A (7) LOCK A (8) READ A (9) A:= A*2 (10) READ B (11) WRITE A (12) COMMIT (13) UNLOCK A (14) B:=B/A

4 Protocolo Refazer Objectivo: nunca desfazer transacções
refina protocolo de duas fases estrito Acções ao atingir o cometimento da transacção T 1) para cada item I alterado para o valor v pôr no jornal (T,I,v) 2) acrescentar (T, commit) 3) escrever em memória estável os blocos do jornal que faltarem - aqui T fica cometida 4) para cada item I escrever o seu valor na BD pode apenas significar trazer para a memória central o bloco que contém I e actualizá-lo, ficando a escrita dependente da política de paginação

5 Algoritmo de recuperação
Examina o jornal e repõe a BD num estado consistente resulta da aplicação de determinada sequência de transacções o sistema deve libertar os bloqueios existentes na altura da falha Aplica-se a transacções que sigam o protocolo refazer examinar o jornal inversamente, determinando as transacções T com entrada (T, commit) transacções não cometidas ou com uma entrada (T, abort) ignoram-se é como se não tivessem existido; registando qual o procedimento e parâmetros é possível relançar a transacção depois de estabilizar percorrer o jornal desde o início e, para cada entrada (T, I, v) de uma transacção cometida, escrever v no item I da BD Refazer reaproveita todo o cálculo efectuado; relançar desperdiça-o e repete a transacção

6 Transacção e jornal Transacção que segue o protocolo refazer Recuperar
T jornal (1) (T, begin) (2) LOCK A (3) LOCK B (4) (T,A,v) (5) (T,B,w) (6) (T, commit) (7) WRITE A (8) WRITE B (9) UNLOCK A (10) UNLOCK B Transacção que segue o protocolo refazer cálculos entre (3) e (4) escrita no jornal deve ser efectivada em disco mal a transacção esteja cometida, entre (6) e (7) actualização da BD pode ter um algoritmo mais elaborado de paginação Recuperar falha antes de (6) - ignorada (relançar T) falha depois de (6) - refazer (4) e (5)

7 Ponto de verificação Até onde percorrer o jornal numa recuperação?
Operação de verificação (checkpoint) proibir o início de transacções e esperar que as activas estejam cometidas ou abortem copiar os blocos alterados na memória central para memória estável registar no jornal o ponto de verificação e escrever o jornal Só é necessário analisar o jornal até ao último ponto de verificação, para recuperar de uma falha a parte anterior do jornal só interessa para arquivo de segurança

8 Falha no disco Avaria no meio de armazenamento
manter cópias de segurança ou arquivo em linha (replicação) a cópia de segurança é feita após um ponto de verificação usar discos distintos e em locais distintos ter duas cópias do jornal em locais distintos recuperar é repor a última cópia geral, as incrementais seguintes e aplicar a recuperação ao jornal (refazer) desde essa altura

9 FEUP/LEIC TSGBD Marcas temporais Manutenção da seriabilidade sem bloqueio em duas fases podia-se construir o grafo de dependências nas leituras e escritas e impedir o aparecimento de ciclos - não prático associar a cada transacção um instante correspondente ao seu início; escalonamento deve garantir que a ordem desses instantes é a respectiva ordem série equivalente T1 T2 T3 (1) READ A (2) READ A (3) READ D (4) WRITE D (5) WRITE A (6) READ C (7) WRITE B (8) WRITE B T T2 (1) READ B (2) READ A (3) WRITE C (4) WRITE C Serializável por bloqueios [e não ao contrário] serializável por instantes Gabriel David

10 Reforçar a seriabilidade
Objectivo do escalonamento com marcas temporais resultado final equivalente a executar a transacção toda no instante atribuído associar a cada item o instante da transacção que fez a última leitura e a última escrita Proibido transacção com instante t1 ler item com instante de escrita t2 > t1 transacção com instante t1 escrever num item com instante de leitura t2 > t1 Transacção que tentasse furar o esquema seria abortada e reiniciada problema da leitura de dados sujos possibilidade de desfazer em cascata

11 Controlo por marcas temporais
Indicam-se os valores iniciais dos instantes das marcas T2 forçada a abortar: tentava, com T2 =150, escrever num dado já lido no futuro TL=200. T1 T2 T3 A B C TL=0 TL=0 TL=0 TE=0 TE=0 TE=0 (1) READ B TL=200 (2) READ A TL=150 (3) READ C TL=175 (4) WRITE B TE=200 (5) WRITE A TE=200 (6) WRITE C T2 aborta (7) WRITE A


Carregar ppt "Recuperação Como garantir a integridade da informação, em caso de avarias de HW ou SW forma de suportar a reposição de um estado consistente da informação."

Apresentações semelhantes


Anúncios Google