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

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

DIMAp1 Processamento de Transação Por Márcia Rodrigues.

Apresentações semelhantes


Apresentação em tema: "DIMAp1 Processamento de Transação Por Márcia Rodrigues."— Transcrição da apresentação:

1 DIMAp1 Processamento de Transação Por Márcia Rodrigues

2 DIMAp2 Roteiro Introdução Necessidade de Controle de Concorrência Necessidade do Controle de Recuperação Transações Schedules e Recuperabilidade Seriabilidade de Schedules Considerações finais

3 DIMAp3 Introdução Sistemas Multi-usuário e Mono-Usuário –sistemas operacionais multiprogramados –Modelo Intercalado X Concorrente Transação: programa que acessa ou muda o conteúdo de um BD Operações de Leitura / Escrita –read_item (X) e write_item(X)

4 DIMAp4 Introdução Atualização do disco - realizada pelo Gerenciador de Recuperação ou Sistema Operacional Controle de Concorrência e Mecanismos de Recuperação estão preocupados com os acessos ao BD através transação

5 DIMAp5 Necessidade do Controle de Concorrência Seja um BD de reserva de linha aérea, cada registro possui informações dos vôos como o número de reservas. T1T2 Read(X) X=X-N write(X) read (Y) Y=Y+N write (Y) Read(X) X=X+M write(X) Para N = 5, M = 4 e X = 80

6 DIMAp6 Necessidade de Controle de Concorrência Problema da atualização perdida: ocorre quando 2 transações que acessam o mesmo item do BD possuem operações intercaladas tornando o valor do item incorreto. Ex. A transação T1 e T2 são submetidas ao mesmo tempo. O valor do item X será incorreto

7 DIMAp7 Necessidade do Controle de Concorrência Dirty Read : quando uma transação atualiza o BD e ocorre uma falha. O item atualizado é acessado por outra transação antes de mudar para o valor original T1T2 Read(X) X=X-N write(X) read (Y) Read(X) X=X+M write(X)

8 DIMAp8 Necessidade de Controle de Concorrência Problema de Análise Incorreta: ocorre qdo uma transação está somando dados de um registro e outras estão atualizando alguns destes registros –Outro problema quando uma transação ler duas vezes um item e ao mesmo tempo outra transação atualiza o valor entre as duas leituras

9 DIMAp9 Necessidade do Controle de Recuperação O SGBD não pode permitir que algumas operações da transação T sejam aplicadas ao BD enquanto outras operações de T não foram. Isto ocorre qdo uma transação falha Tipos de Falhas: 1. falha no computador (system crash) erros de software e hardware 2. Erro no sistema ou na transação (divisão por zero, overflow)

10 DIMAp10 Necessidade de Controle de Recuperação 3. Erros locais ou excessões detectadas pela transação (dados da transação não foram encontrados 4. Imposição do controle de concorrência - o método de controle de concorrência pode decidir abortar uma transação 5. Falha no disco 6. Problemas físicos - erros de operação, fogo, sabotagem, etc As falhas de 1 a 4 são mais comuns e o sistema deve ter informações para recuperar-se destas falhas

11 DIMAp11 Transações Estados da transação e Operações Adicionais Fim da Transação ativo aborta Parcialmente commited commit committted falho Terminado

12 DIMAp12 Transações Inicio da transação: Leitura e Escrita: operações de leitura e escrita no BD que são executadas como parte da transação Fim da transação: checar se as mudanças pela transação podem ser aplicadas ou se a transação viola o controle de concorrência Transação_commit: final da transação com sucesso Rollback(abort): final sem sucesso

13 DIMAp13 Transações Técnicas de Recuperação usam as operações –undo: similar ao rollback é aplicado a uma operação e não a toda transação –redo: certas operações devem ser refeitas para garantir que todas as operações da transação committed foram aplicadas com sucesso

14 DIMAp14 Sistema de Log Para auxiliar na recuperação de falhas Log: guarda as informações de todas as operações que afetam o BD Tipos de entradas no log: –[start_transaction, T] –[write_item,T,X,valor antigo, valor novo] –[read_item,T,X] –[commit,T] –[abort,T] Obs.: o log pode ser reduzido apenas a operações de gravação

15 DIMAp15 Sistema Log Antes da transação alcançar seu ponto de commit, qualquer porção do log que não tenha sido escrito no disco deve ser escrito - processo de forçar a escrita Checkpoints: outro tipo de entrada no Log –todas as transações que tenham as entradas [commit,T] no log antes da entrada checkpoint não precisarão ser refeitas

16 DIMAp16 Sistema Log –SGBD deve decidir qual o intervalo entre um checkpoint e outro (medido em tempo ou número de transações committed) –Ações do checkpoint: suspender a execução das transações temporariamente forçar a escrita de todas as operações de atualização das transações committed Escrever o registro checkpoint no log e forçar a escrita no log retomar a execução das transações


Carregar ppt "DIMAp1 Processamento de Transação Por Márcia Rodrigues."

Apresentações semelhantes


Anúncios Google