Você está na página 1de 3

16/07/2013

Introduo
Banco de Dados Para os Sistemas de Gerenciamento de Bancos de Dados

Avanados manter um subsistema de recuperao de falhas

16/07/2013
fundamental Garantia de Alta Disponibilidade;

Recuperao de Vrios tipos de falhas podem ocorrer e o sistema deve se

(c) 2012 - DC - UFPI


recuperar de cada uma delas;

Paradas e Falhas Isto garante a Confiabilidade do BD tambm.


Prof. Flvio Ferry de Oliveira Moreira, Msc.

Tipos de Falhas Algoritmos de recuperao


Transao Baseados normalmente em duas etapas:
Erro lgico (erros de processamento da transao); 1. Aes tomadas durante o processamento normal das
16/07/2013

16/07/2013
Erro do sistema (condies de corrida como deadlock). transaes para garantir sua recuperabilidade;
2. Aes tomadas aps uma falha, para recuperar o contedo do
BD, garantindo as propriedades ACID.
(c) 2012 - DC - UFPI

(c) 2012 - DC - UFPI


Do sistema (bug de hardware ou software bsico);

De Disco (defeitos fsicos).

3 4

Tipos de armazenamento Tipos de armazenamento


Voltil Buffers do servidor e de clientes, toda a No-Voltil Mdias permanentes de acesso imediato no
armazenagem em RAM; servidor. Atualmente representados por discos ou memrias
16/07/2013

16/07/2013

flash. Estas mdias ainda so vulnerveis a muitos tipos de


falhas devido muitas vezes sua propriedade de ser no-
removvel;
(c) 2012 - DC - UFPI

(c) 2012 - DC - UFPI

5 6

1
16/07/2013

Tipos de armazenamento Implementao de estabilidade


Estvel Mdias de backup. Estas so os locais onde os dados Para garantir a estabilidade dos dados, implementa-se at
sero buscados em caso de grandes falhas ou at mesmo mesmo a gravao em diversas mdias no-volteis ao mesmo

16/07/2013

16/07/2013
catstrofes. tempo. Uma forma popular de fazer isso com o sistema
RAID.
So vrios discos montados em espelhamentos, de forma que

(c) 2012 - DC - UFPI

(c) 2012 - DC - UFPI


a redundncia da gravao garanta o dado ntegro e acessvel
quando for necessrio.

7 8

Gravao de memria para


Leitura de dados
disco
A transferncia de um bloco de memria para a mdia estvel A leitura tambm feita em blocos.
pode resultar em: Os dados so resgatados para uma rea da memria do
16/07/2013

16/07/2013
1. Trmino bem-sucedido o bloco de disco est correto; servidor chamada buffer de disco;
2. Falha parcial o bloco de disco contm informaes Normalmente, vem para o buffer mais dados que o necessrio
incorretas;
(c) 2012 - DC - UFPI

(c) 2012 - DC - UFPI


para a operao de leitura, isto previsto nos algoritmos de
3. Falha total o bloco no chegou ao disco. leitura como previso de cache.

Toda gravao acompanhada pelo sistema bloco a bloco,


checagens so realizadas e a fidelidade do dado testada.

9 10

Recuperao e atomicidade Recuperao e atomicidade


Suponha um SGBD servindo a um sistema bancrio. AES:
Temos duas contas-correntes (A e B), onde A tem R$ 1.000,00 1. Executar Ti novamente A ficaria com R$ 900,00 e no R$
16/07/2013

16/07/2013

e B tem R$ 2.000,00. Suponha que exista uma transferncia de 950,00.


R$ 50,00 de A para B. 2. No Executar Ti novamente A ficaria com R$ 950,00 mas B
Durante os procedimentos internos do SGBD para fazer a ficaria com os mesmos R$ 2.000,00 de antes.
(c) 2012 - DC - UFPI

(c) 2012 - DC - UFPI

transferncia ocorreu um erro e a mesma no foi totalmente Os dois estados seriam inconsistentes. Uma recuperao
executada. simples no seria eficiente para este sistema.
A falha ocorreu aps o dbito de A e antes do crdito de B. Ento neste caso a atomicidade deve ser encarada como a
operao bancria completa.
Um esquema de recuperao deve levar isto em conta e
garantir a execuo total da transferncia.
11 Este exemplo tambm ilustra a importncia do subsistema de 12
recuperao de paradas e falhas do SGBD.

2
16/07/2013

Recuperao baseada em log Recuperao baseada em log


Conforme foi dito antes, o log um sistema de Outros registros de log tambm so bastante comuns para
acompanhamento e vigilncia de aes do SGBD; efeitos de recuperao: <Ti start>, <Ti commit>, <Ti abort>,

16/07/2013

16/07/2013
Serve tambm para recuperao em caso de falha; <commitpoint> e <checkpoint>.
Um registro de log para uma atualizao de BD contm os Commitpoint usado para registrar no log que todas as
operaes WRITE das transaes ativas at este momento

(c) 2012 - DC - UFPI

(c) 2012 - DC - UFPI


seguintes campos:
Identificador de transao; foram executadas com sucesso. Seu uso no obrigatrio e
Identificador do item de dados manipulado;
depende do algoritmo de recuperao ativo no servidor neste
momento.
Valor antigo;
Valor novo. Checkpoint usado por todos os sistemas de recuperao
baseados em log. So gravados de tempos em tempos no log,
sempre sinalizando que todas as transaes existentes
daquele ponto para trs foram concludas com sucesso e
13 14
tiveram seus commit gravados no BD.

Continua...
At a prxima pessoal.
16/07/2013
(c) 2012 - DC - UFPI

15