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

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

Concorrência - 1 Recuperação m Como garantir a integridade da informação, em caso de avarias de HW ou SW q forma de suportar a reposição de um estado consistente.

Apresentações semelhantes


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

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

2 Concorrência - 2 O jornal da BD m técnica base: construir um jornal (log) para registar as alterações na BD, com linhas dos tipos: q (T, begin) marca início da transacção T q (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 q (T, commit) no ponto de cometimento q (T, abort) em caso de cancelamento

3 Concorrência - 3 Análise do jornal m Exemplo de jornal: passo entrada antes de (1)(T 1, begin) (4) (T 1, A, 10, 9) antes de (7) (T 2, begin) (11) (T 2, A, 9,18) (12) (T 2 commit) depois de (14) (T 1, abort) m após a falha, a rotina de recuperação analisa o jornal q conclui que T 1 abortou ou pelo menos nunca chegou ao cometimento q os seus efeitos têm que ser desfeitos q valor antigo requerido para repor situação inicial q relançar T 1 q T 2 tem também que ser desfeita e relançada implica registar leituras e ligar transacção ao código respectivo T 1 T 2 (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 Concorrência - 4 Protocolo Refazer m Objectivo: nunca desfazer transacções q refina protocolo de duas fases estrito m 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 Concorrência - 5 Algoritmo de recuperação m Examina o jornal e repõe a BD num estado consistente q resulta da aplicação de determinada sequência de transacções q o sistema deve libertar os bloqueios existentes na altura da falha m Aplica-se a transacções que sigam o protocolo refazer q examinar o jornal inversamente, determinando as transacções T com entrada (T, commit) q 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 q 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 m Refazer reaproveita todo o cálculo efectuado; relançar desperdiça-o e repete a transacção

6 Concorrência - 6 Transacção e jornal q 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 q Recuperar falha antes de (6) - ignorada (relançar T) falha depois de (6) - refazer (4) e (5) Tjornal (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

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

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

9 Concorrência - 9 Marcas temporais m Manutenção da seriabilidade sem bloqueio em duas fases q podia-se construir o grafo de dependências nas leituras e escritas e impedir o aparecimento de ciclos - não prático q 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 T 1 T 2 (1)READ B (2)READ A (3)WRITE C (4)WRITE C T 1 T 2 T 3 (1)READ A (2) READ A (3)READ D (4)WRITE D (5)WRITE A (6)READ C (7)WRITE B (8)WRITE B Serializável por bloqueios [e não ao contrário] serializável por instantes

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

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


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

Apresentações semelhantes


Anúncios Google