Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Sistemas de Recuperação de Dados

Trabalho Acadêmico sobre Sistemas de Recuperação de Dados. Apresentado no Instituto Federal Farroupilha Campus Alegrete, ao Curso Tecnólogo em Análise e Desenvolvimento de Sistemas, 3º Semestre, à disciplina de Banco de Dados II no dia 30 Set 13.
by

Magrao da Beata

on 29 September 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Sistemas de Recuperação de Dados

Sistemas de Recuperação de Dados

Introdução
A recuperação de falhas existe para garantir as propriedades de atomicidade e durabilidade das transações. O sistema de recuperação de falhas é responsável pela restauração do banco de dados para um estado que havia antes da ocorrência de uma falha.
Classificação das falhas
falha de transação
- erro lógico
- erro do sistema
falha do sistema
falha no disco
Para entender como garantir as propriedades de atomicidade e durabilidade de uma transação, é necessário conhecer os meios de armazenamento e seus métodos de acesso.

Restaurar um banco de dados é facilitado quando se tem certeza do estado de uma operação.
Para garantir a atomicidade, deve-se emitir informações descrevendo as modificações feitas no armazenamento estável antes de modificar o banco de dados.
Isso permitirá gerar todas as modificações feitas por uma transação confirmada, apesar das falhas.
Modificações de BD Adiadas
Quando todas as modificações do banco de dados são escritas no log, garante-se a propriedade de atomicidade de transação. Na técnica de modificações adiadas , adia-se a execução de todas as operações de write (no BD) de uma transação até que ela seja parcialmente efetivada.
Modificações Imediatas do BD
Permite que as modificações no banco de dados sejam realizadas enquanto as transações ainda estão num estado ativo. As escritas emitidas por transações ativas são chamadas de modificações não-efetivadas. Neste esquema de modificação de BD, o log deverá armazenar o valor antigo e o novo oriundos das operações de write.
Recuperação baseada em log
Log é uma sequência de registros de todas as atividades, onde se armazenam todas as atualizações do banco de dados.
Recuperação Áries
ARIES é um método de recuperação de última geração:
Incorpora diversas otimizações para reduzir sobrecargas durante o processamento normal e agilizar a recuperação
O “algoritmo de recuperação avançado” que estudamos anteriormente é modelado pelo ARIES, mas simplificou bastante removendo otimizações

Um registro
<Ti start>
é escrito no log antes da transação Ti iniciar sua execução. Toda operação write(x) de Ti, resulta em um novo registro no log. Quando Ti é parcialmente efetivada, um registro
<Ti commit>
deve ser escrito no log.
Um registro
<Ti start>
é registrado antes da transação Ti iniciar sua execução. Toda operação write(X) de Ti é precedida pela escrita de um novo registro no log. Quando T é parcialmente efetivada, um registro
<Ti commit>
deve ser escrito no log. As informações podem ser atualizadas no banco de dados assim que o log esteja salvo em meio estável.
1º - Ações tomadas durante o processamento normal da transação a fim de garantir informações suficientes para permitir a recuperação de falhas;
2º - Ações tomadas em seguida à falha, recuperando o conteúdo do banco de dados para um estado que assegure sua consistência e a atomicidade e durabilidade das transações.
Acesso aos Dados
Os logs possuem os seguintes campos:

Identificador de transação:
é o identificador exclusivo da transação que realizou a operação write.

Identificador de item de dados:
é o identificador exclusivo do item de dados escrito.

Valor antigo:
é o valor do item de dados antes da escrita.

Novo valor:
é o valor que o item de dados terá após a escrita.
<Ti start>
. A transação Ti foi iniciada.
<Ti, Xj, V1, V2>
. A transação Ti, realizou uma escrita sobre o item de dados Xj. Xj tinha valores V1 antes da escrita e terá valor V2 após a escrita.
<Ti commit>
. A transação Ti, foi confirmada.
<Ti abort>.
A transação Ti, foi abortada.
Algoritmo Aries
A recuperação ARIES envolve três passadas:
Passada de análise
Passada de redo
Passada de undo
Based on Jim Harvey's speech structures
Falha do Sistema
Existe um defeito de hardware, ou um bug no software de banco de dados ou no sistema operacional, causando a perda do conteúdo do armazenamento volátil e encerrando o processamento da transação.
Sistemas bem projetados quando com erros de hardware ou bugs no sistema, desligam-se para não comprometer o armazenamento não-volátil. Essa técnica chama-se
falhar-parar.
Erro lógico
- a transação não pode mais continuar com sua execução normal devido a alguma condição interna, como entrada defeituosa, dados não encontrados, estouro ou limite de recursos ultrapassados.
Erro do sistema
- o sistema entrou em um estado indesejável, fazendo com que uma transação não possa continuar com sua execução normal. (não havia sido testada essa hipótese)
Falha de Transação
Um bloco de disco perde seu conteúdo como resultado de uma falha da cabeça ou uma falha durante uma operação de transferência de dados. As cópias dos dados em outros discos, ou backups de arquivamento em mídia terciária, como fitas, são usadas para a recuperação de falhas.
Falha de Disco
Estrutura de armazenamento
Implementação do Armazenamento Estável
Atomicidade

f. Phýs. Propriedade, que tem o átomo de um corpo, de se unir a um átomo de outro. Valência máxima e fixa. (De atómico)

Durabilidade

s. f.
1. Qualidade de durável.
2. Larga duração.

Tipos de Armazenamento
As informações não sobrevivem a falhas no sistema. Ex: memória principal e memória cache. O acesso a essas memórias e extremamente rápido, tanto pela velocidade do próprio acesso à memória quanto por ser possível acessar qualquer item de dados diretamente.
Armazenamento Volátil
Armazenamento não-Volátil
As informações neste meio sobrevivem a quedas do sistema; No entanto, estão sujeitas a
se perderem em falhas mais drásticas.
Dispositivos eletromecânicos são
mais lentos que o armazenamento
volátil, que usa
apenas chips.


Armazenamento Estável
A informação neste meio nunca é perdida. Teoricamente é impossível de ser obtido, mas pode-se chegar perto deste meio pelo uso de técnicas para tornar improvável a perda de dados. Mantendo-se várias cópias do mesmo conteúdo sincronizadas e em lugares distintos.
Técnicas de Armazenamento Estável
Replicar a informação em vários meios de armazenamento
não-volátil independentes, controlando a atualização das
informações;
Sistemas RAID: coleções de formas de organização de
discos;
Armazenar backups em fitas colocadas em diferentes
locais, para proteção contra desastres;
Manter cada bloco de armazenamento em sites remotos
(transferência de blocos via rede).
Transfêrencia de Dados
A transferência de dados entre memória e disco pode
resultar em:
Conclusão bem sucedida: o destino recebeu a informação;
Falha parcial: o destino recebeu informação incorreta;
Falha total: o destino permaneceu intacto;
Falha na Transferência
Quando houver uma falha de transferência o sistema deve invocar um procedimento que restaure o bloco a um estado consistente. Porisso ele deve manter dois blocos físicos para cada bloco lógico do banco de dados.
Durante a recuperação o sistema vasculha os pares de blocos físicos, e se ambos forem iguais e não houver um erro detectável, nada é feito. Porém se um bloco estiver com erro logo é substituído pelo outro, e se os blocos não contém erros mas diferem em seu conteúdo, o conteúdo do primeiro é substituído pelo do segundo.
Exemplo de Algoritmo
1 - Escreva a informação no primeiro bloco físico.

2 - Quando a primeira escrita for terminada com sucesso, escreva a informação no segundo bloco físico.

3 - A saída só é completada depois que a segunda escrita terminar com sucesso.
Conceitos
Movimentos de blocos entre memória principal e disco envolvem duas operações:
Input:
transfere o bloco físico B para a memória principal;

Output:
transfere o bloco de buffer B para o disco.
Os blocos residindo no disco são chamados de blocos físicos, os blocos residindo temporariamente na memória principal são chamados de blocos de buffer. A área da memória em que os blocos residem temporariamente é chamada de
buffer de disco
.
Transações
Cada transação possui uma área de trabalho privada na qual mantém cópia de todos os itens de dados acessados por ela. Essa área de trabalho é criada quando a transação é iniciada; e é removida quando a transação é abortada ou efetivada.
A interação da transação com o sistema se dá por meio
da transferência de dados desta área de trabalho para o buffer do sistema e vice-versa.
Operações de Transferência
read(X)
: designa o valor do item de dado X para a variável de programa xi.
a. Se o bloco Bx , no qual X reside não está em memória principal, então é emitido um input(Bx).
b. Designa a xi o valor de X a partir do bloco de buffer.

write(X):
atribui o valor da variável de programa xi para o item de dado X no bloco de buffer.
a. Se o bloco Bx no qual reside X não está na memória principal, então emite o input(Bx).
b. Designa o valor de xi para X no buffer Bx
Exemplo de Acesso aos Dados
Recuperação e Atomicidade
Assim que a transação é parcialmente efetivada, os registros no log podem ser usados para atualizar o banco de dados e a transação entra em seu estado de efetivação.
Neste momento, deve-se garantir que o log esteja armazenado em meio estável.
Ações em caso de falhas :
(a) Nenhuma ação redo é necessária;
(b) É necessário realizar redo(T0), uma vez que há um <T0 commit> foi registrado;
(c) Realizar redo(T0) seguido de redo(T1), uma vez que <T0 commit> e <T1 commit> estão presentes no log.
(a) undo (T0): B é restaurado para 2000 e A para 1000.
(b) undo (T1) e redo (T0): C é restaurado para 700, e então, A e B são retornam aos valores 950 e 2050, respectivamente.
(c) redo (T0) and redo (T1): Os valores de A, B e C na conta, após esses procedimentos, são 950, 2050 e 600, respectivamente.
Pontos de Verificação (Check points)
Os checkpoints são registros inseridos no log periodicamente e exigem a execução da seqüência de operações abaixo:
Suspender, temporariamente, a execução de todas as transações.
Forçar as escritas das operações de write das transações, da memória principal para o disco.
Escrever o checkpoint no log e forçar a escrita no log em disco.
Reassumir a execução das transações.
Usa Log Sequence Number (LSN) para identificar registros de log que são armazenados nas páginas para identificar quais atualizações já foram aplicadas a uma página de banco de dados.
Tabela de página suja para evitar redos desnecessários durante a recuperação
Ponto de verificação difuso que só registra informações sobre páginas sujas, e não exige que
as páginas sujas sejam
escritas durante o ponto
de verificação
Usa Redo fisiológico
Características
1- Passada de análise:
Determina
Quais transações desfazer?
Quais páginas estavam sujas (versão de disco não atualizada) no momento da falha?
RedoLSN: LSN do qual o redo deverá começar?
2- Passada de redo:

Repete histórico, refazendo todas as ações de RedoLSN
RecLSN e PageLSNs são usados para evitar refazer ações já refletidas na página

3- Passada de undo:

Reverte todas as transações incompletas
Transações cujo aborto foi completado antes não são desfeitas

Outros recursos do ARIES
Independência de recuperação
Pontos de salvamento
Bloqueio minucioso
Otimizações de recuperação

Os sistemas de backup remoto oferecem alta disponibilidade, permitindo que o processamento de transação continue mesmo que o site primário seja destruído.
Sistemas de backup remoto
Características
Detecção de falha: o site de backup precisa detectar quando o site primário falhou
Transferência de controle
Tempo para recuperação

Prevenção
Exemplos de log
Full transcript