Transacoes em banco de dados   pt1
Upcoming SlideShare
Loading in...5
×
 

Transacoes em banco de dados pt1

on

  • 7,167 views

Tradução (parcial) da apresentação criada por Svetlin Nakov.

Tradução (parcial) da apresentação criada por Svetlin Nakov.

Statistics

Views

Total Views
7,167
Views on SlideShare
7,167
Embed Views
0

Actions

Likes
0
Downloads
161
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Eu necessito de sua ajuda para completar o meu gerençiamento de dados,em numeros de contas ,numeros de cartões,valores em banco em todo o mundo.Em nome de,Victor manuel rocha fitas da graça.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • * 03/15/11 07/16/96 (c) 2005 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.* ##
  • * 03/15/11 07/16/96 (c) 2005 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.* ##
  • * 03/15/11 07/16/96 (c) 2005 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.* ## Two possible outcomes of the transaction: It completes successfully (as agreed by unanimous vote of all its participants) or it fails and rolls back to the state before the transaction started Durable: if the transaction didn’t occur, this state would persist Analogy: A contract negotiation either results in a successful signed contract, or it fails. There is no intermediate. Similarly, once it is signed, it exists as a whole, it cannot be broken into pieces. It is also durable, lasting as long as specified within the contract.
  • * 03/15/11 07/16/96 (c) 2005 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.* ## Use transfer example, not cash machine for failing to complete
  • * 03/15/11 07/16/96 (c) 2005 National Academy for Software Development - http://academy.devbg.org. All rights reserved. Unauthorized copying or re-distribution is strictly prohibited.* ##

Transacoes em banco de dados   pt1 Transacoes em banco de dados pt1 Presentation Transcript

  • Transações e Gerenciamento de Transações em Bancos de Dados Tradução do Orignal em Ingles de Svetlin Nakov National Academy for Software Development academy.devbg.org Tradução e Adaptação:Vinicius Augustus Paluch Versão Original disponível em : http://www.slideshare.net/nakov/svetlin-nakov-database-transactions
  • Agenda
    • O que são Transações?
    • Conceito ACID de Transações
    • Problemas de Concorrência
    • Técnicas de controle concorrência
    • Estratégias de Bloqueio (Locking)
      • Bloqueio Otimista e Pessimista
      • Deadlocks
    • Transações e Recuperação
  • Agenda (2)
    • Transações na Linguagem SQL
    • Niveis de Isolamento de Transações
    • Onde e Quando usar Transações
  • O que são Transações?
  • Transactions
    • Transações são sequência de Ações ( Operações de Banco de Dados ) que são executadas como “um conjunto” :
      • Ou todas são executas com sucesso
      • Ou Nenhuma delas
    • Exemplo
      • Um banco transfere dinheiro entre duas contas ( saque + deposito )
      • Se qualquer uma das operações falhar, a trasferência será cancelada
  • A Transaction Rollback Commit Leitura Gravação Gravação Situação Inicial (Durável) Situação Final Durável e consistente Coleção de leituras e gravações
  • Transactions Behavior
    • Transações garantem a consistência e intregridade do banco de dados
      • Todas as modificações da transação são “temporárias”
      • Modificações seão “persistidas” apenas após o Commit
      • A qualquer momento (Antes do commit) as modificações podem ser canceladas através de um Rollback
    • Todas as operações são executadas como uma unidades ( ou nenhuma será)
  • Transactions: Examples
    • Saque R$100
    • Ler Poupança
    • Saldo Poupança = Saldo atual - 100
    • Ler Saldo Ccorr.
    • Saldo Ccorr. = Saldo Anterior+ 100
    • Gravar Saldo Poupança
    • Gravar saldo Ccorr.
    • Ler o saldo atual
    • Saldo = Saldo atual - Saque
    • Registrar Saldo
    • Entregar Dinheiro
    Transferência R$100
  • What Can Go Wrong?
    • Algumas operações falham
      • Ex., Flahas de Software, comunicação, Banco de Dados ou Hardware
    • InterferÊncia entre transações
      • O que acontece se multiplas alterações forem feitas na mesma conta?
    • Parte dos dados é perdida …
      • Comunicação falha entre o Saque e o Depósito.
  • Transações ACID
  • Propriedade das Transações
    • SGDBs possuem suporte imbutido à Transações
    • ACID Siginifica:
      • A tomicidade
      • C onsistencia
      • I solamento
      • D urabilidade
  • Atomicidade
    • Atomicidade significa que
      • Transações são execudas como uma UNIDADE
      • SGDB garante que todas as transações são executadas ou desfeitas
    • Exemplos
      • Transferência de valores entre contas
        • Ou o Depósito+Saque são registrados com sucesso ou nenhum dos dois será
        • Em caso de falha o BD permanece inalterado
  • Consistencia
    • Consistenc ia significa que:
      • O Banco de dados está consitente (íntegro) antes e depois da transação
      • Apenas dados válidos foram gravados
      • A Transação não pode quebrar regras de integridade e respeita:
        • Chaves primárias, estrangeiras e únicas
      • Exemplo
        • Transação não pode encerrar com chave duplicada
  • Isolamento
    • Isolamento significa que
      • Multiplas transações simultâneas não afetam umas as outras
      • Transações não enxergam dados não COMMITADOS.
      • O Nível de isolamento define o quanto uma transação “enxerga” alterações das outras
        • Read committed, read uncommitted, repeatable read, serializable, etc.
    • Exemplo
      • Gerentes podem ver transferências entre contas (débito ou crédito) mas não as 2 operações.
  • Durabilidade
    • Durabilidade significa que
      • Se uma transação é confirmada (COMMIT) ela será persistente
        • Não pode ser perdida nem desfeita
      • Garantida através de LOGS de TRANSAÇÂO e Backup
    • Exemplo
      • Ápós concluida a transferência, a energia falha
      • Ao retornar, os dados continuam íntegros e registrados conforme o momento imediatamente anterior à falha
  • Transações ACID e Bancos de Dados
    • Bancos transacionais mais populares
      • Oracle Database
      • Microsoft SQL Server
      • IBM DB2
      • PostgreSQL
      • Borland InterBase / Firebird
      • MySQL só será compatícel com ACID se substituir a engine de armazenamento!!!
  • Outras apresentações...
    • Problemas de Concorrência
    • Técnicas de Controle de Concorrência
    • Estratégias de Bloqueio (Locking)
    • Transações e Recuperação (Recovery)
    • Transações em linguagem SQL
    • Níveis de Isolamento de Transações
  • Agradecimentos Tradução do Orignal em Ingles de Svetlin Nakov National Academy for Software Development academy.devbg.org