Banco de dados transacao

Disponível somente no TrabalhosFeitos
  • Páginas : 6 (1273 palavras )
  • Download(s) : 0
  • Publicado : 7 de abril de 2013
Ler documento completo
Amostra do texto
Sumário
1 Introdução ao Processamento de Consultas
2 Otimização de Consultas
3 Plano de Execução de Consultas
4 Introdução a Transações
5 Recuperação de Falhas
6 Controle de Concorrência
7 Fundamentos de BDs Distribuídos
8 SQL Embutida

Introdução a Transações
• SGBD
– sistema de processamento de operações de
acesso ao BD

• SGBDs são em geral multi-usuários
– processamsimultaneamente operações
disparadas por vários usuários
• deseja-se alta disponibilidade e tempo de resposta
pequeno

– execução intercalada de conjuntos de
operações
• exemplo: enquanto um processo i faz I/O, outro
processo j é selecionado para execução

• Operações são chamadas transações

1

Transação
• Unidade lógica de processamento em um SGBD
• Composta de uma ou mais operações
–seus limites podem ser determinados em SQL

• De forma abstrata e simplificada, uma transação
pode ser encarada como um conjunto de
operações de leitura e escrita de dados
Tx read(x)
x=x–i
read(y)
y=y*x
write(x)
write(y)

lê o dado X do BD e o
armazena na variável X

grava no dado Y do BD o
valor da variável Y

Estados de uma Transação
• Uma transação é sempre monitorada peloSGBD quanto ao seu estado
– que operações já fez? concluiu suas
operações? deve abortar?

• Estados de uma transação
– Ativa, Em processo de efetivação, Efetivada,
Em processo de aborto, Concluída
– Respeita um Grafo de Transição de Estados

2

Transição de Estados de uma Transação
reads e writes

Em Processo
de Efetivação
iniciar
transação

finalizar
transação

Ativatransação deve
ser desfeita

encerramento
com sucesso

encerramento
sem sucesso

Efetivada
conclusão
da transação
com sucesso

Em Processo
de Aborto conclusão

da transação
sem sucesso

Concluída

Transição de Estados de uma Transação
reads e writes

Em Processo
de Efetivação
iniciar
transação

Ativa

finalizar
transação

encerramento
com sucesso

transação deve

•estado inicial de toda
ser desfeita
transação selecionada Efetivada
transação deve para execução
ser desfeita
• enquanto ativa, uma
conclusão
transação executa uma ou
daead e write
transação
mais operações r

com sucesso

Em Processo
de Aborto conclusão

da transação
sem sucesso

Concluída

3

Transição de Estados de uma Transação
reads e writes

Em Processo
deEfetivação
iniciar
transação

Ativa

finalizar
transação

encerramento
com sucesso

encerramento
sem sucesso

Efetivada
• entra nesse estado após
executar sua últimatransação deve
operação
ser
(solicitação de COMMIT) desfeita
conclusão
• neste momento, o SGBD
da transação
precisa garantir que as suas
com sucesso
atualizações sejam efetivadas Processo
Em
com sucesso (não sofrafalhas)
– aplicação de técnicas dede Aborto
conclusão
recovery

da transação
sem sucesso

Concluída

Transição de Estados de uma Transação
reads e writes

Em Processo
de Efetivação
iniciar
transação

Ativa

finalizar
transação

encerramento
com sucesso

encerramento
sem sucesso

• entra nesse estadotransação deve
após o
ser as
SGBD confirmar que todasdesfeitamodificações da transação estão
garantidas no BD (COMMIT OK)
– exemplos: gravação em Log,
Em
descarga de todos os buffers Processo
em disco
de Aborto

Efetivada
conclusão
da transação
com sucesso
conclusão
da transação
sem sucesso

Concluída

4

Transição de Estados de uma Transação
• entra nesse estado se não puder
prosseguir a sua execução
• pode passar para esse estadoenquanto
ativa (I)reads e writes de efetivação (II)
ou em processo
– exemplo (I): violação de RI
Em Processo
– exemplo (II): pane no S.O.
de Efetivação
suas ações já realizadas devem ser desfeitas
iniciar
(ROLLBACK)
finalizar

transação

Ativa

encerramento
com sucesso

encerramento
sem sucesso

transação

Efetivada

transação deve
ser desfeita

conclusão
da transação...
tracking img