TRANSAÇÕES E CONTROLE DE CONCORRÊNCIA Em resumo: Transações: clientes podem necessitar que um servidor execute uma sequência de requisições de forma a

Tamanho: px
Começar a partir da página:

Download "TRANSAÇÕES E CONTROLE DE CONCORRÊNCIA Em resumo: Transações: clientes podem necessitar que um servidor execute uma sequência de requisições de forma a"

Transcrição

1 Transações Transações Uma transação é um conjunto de operações que deve ser executado de forma atômica Atômica : se um erro ocorre no meio da transação, devemos voltar ao estado consistente anterior. Atômica 2: ou todas as operações são realizadas ou nenhuma é realizada. Exemplo de transação bancária Transferir R$00,00 da conta A para a conta B A.retirar (00,00) B.depositar (00,00) Transação composta por duas operações deve ser executada de forma atômica senão situação das contas pode ser inconsistente!!! Sist. Distrib. II - Prof. Cesar A. Tacla Sist. Distrib. II - Prof. Cesar A. Tacla 2 Transações Transações: commit e rollback Uma transação pode ser vista como uma unidade Durante a execução, várias operações são realizadas e resultados intermediários são produzidos Se todas as operações são realizadas com sucesso, a transação pode ser commited (efetivamente realizada, durável) Se uma das operações falha, um processo chamado de rollback retorna ao último estado consistente (para o último commitment) Estado inicial: A.saldo() = R$ 50,00 B.saldo() = R$ 0,00 A.retirar (00,00)[OK] Estado intermediário: A.saldo() = R$ 50,00 B.saldo() = R$ 0,00 B.depositar (00,00) Estado final: A.saldo() = R$ 50,00 B.saldo() = R$ 00,00 Fim transação/commit A.retirar (00,00)[ERRO]/rollback B.depositar(00,00)[ERRO]/rollback Sist. Distrib. II - Prof. Cesar A. Tacla 3 Sist. Distrib. II - Prof. Cesar A. Tacla 4 Transações: commit e rollback Transações: isolamento ESTADO INICIAL OPERAÇÕES DA TRANSAÇÃO EM EXECUÇÃO ERRO/ROLLBACK Transação x := A.getSaldo() // R$00,00 A.setSaldo(x + 50) // R$50,00 abort Transação 2 y := A.getSaldo() // R$50,00 A.setSaldo(y+30) // R$80,00 Fim ok transação/commit Uma transação termina: com sucesso: todos objetos/registros são salvos permanentemente (durabilidade) com erro: o cliente ou o servidor podem abortar a transação Uma transação não pode enxergar os resultados intermediários produzidos por uma outra!!! (dirty read) Sist. Distrib. II - Prof. Cesar A. Tacla 5 Sist. Distrib. II - Prof. Cesar A. Tacla 6

2 TRANSAÇÕES E CONTROLE DE CONCORRÊNCIA Em resumo: Transações: clientes podem necessitar que um servidor execute uma sequência de requisições de forma atômica Existem mecanismos (CORBA, jbeans, BDs) que permitem ao programador enxergar cada transação como um programa sequencial mesmo que executada em concorrência com outras ou que ocorram falhas durante a sua execução Transação é uma seqüência de operações que devem ser tratadas como uma unidade sendo executadas serialmente e sem interrupção ou que podem ser executadas concorrentemente, mas com o mesmo efeito de uma execução serial. Transações: propriedades ACID Atomicidade: uma transação deve ser executada totalmente ou não ter nenhum efeito Consistência: uma transação leva o sistema de um estado consistente a outro estado consistente Isolamento: Cada transação deve ser executada sem interferência de outras transações, mesmo quando elas forem executadas concorrentemente, por isso resultados intermediários por uma transação são invisíveis às outras. Durabilidade: quando uma transação é executada com sucesso, seus efeitos são persistentes Sist. Distrib. II - Prof. Cesar A. Tacla 7 Sist. Distrib. II - Prof. Cesar A. Tacla 8 Transações: propriedades ACID Exemplo consistência e atomicidade Transferência de R$50,00 da conta A para a conta B.. read(a) 2. A := A write(a) 4. read(b) 5. B := B write(b) Consistência: a soma de A e B deve permanecer inalterada ao final da transação. Atomicidade: se a transação (ou qualquer componente do sistema) falhar após o passo 3 e antes do passo 6, o sistema deve garantir que a alteração não se reflita na base de dados. Atualização perdida Quando uma transação sobrescreve o valor escrito por outra. T sobrescreve o saldo escrito por T2 Transação t saldo := b.saldo( ); // R$0 b.setsaldo(saldo *,); // R$2 tempo Transação t2 saldo := b.saldo( ); // R$0 b.setsaldo(saldo*,); // R$0 Saldo final da conta b ficou R$ 2,00 mas deveria ser: R$ 242,00 Uma das atualizações foi perdida porque as transações leram o saldo antigo de b!!! Sist. Distrib. II - Prof. Cesar A. Tacla 9 Sist. Distrib. II - Prof. Cesar A. Tacla 0 Leitura inconsistente Quando uma transação lê valores intermediários de outra transação atributos que estão sendo modificados em outra transação Transação t a.retirar(00) // R$00 b.depositar(00) // R$300 tempo Transação t2 total = a.saldo( ); // R$00 total = total + b.saldo( ); // R$300 total = total + c.saldo( ); Saldo inicial de a e b = R$0,00 t modifica os saldos de a e b enquanto t2 faz o somatório dos saldos de todas as contas de uma agência Como T2 fez leitura inconsistente, a variável total (linha 2, t2) contém R$300 ao invés de R$400!!! Como resolver estes problemas? Com exclusão mútua Utilizar métodos sincronizados (ex. Java) public synchronized void depositar(int valor) throws RemoteException Utilizar um algoritmo de exclusão mútua Utilizar primitivas wait/notifiy um processo servidor notifica um cliente que está aguardando o acesso a um objeto Um servidor de objetos recuperáveis Sist. Distrib. II - Prof. Cesar A. Tacla Sist. Distrib. II - Prof. Cesar A. Tacla 2 2

3 Um servidor de objetos recuperáveis que garanta o acesso isolado aos objetos compartilhados Permite delimitar o início e o fim da transação EXEMPLO JTA = Java transaction API opentransaction() -> trans; Inicia uma nova transação e retorna um identificador único trans. closetransaction(trans) -> (commit, abort); Finaliza a transação: retorna commit se terminou OK ou abort caso contrário aborttransaction(trans); Aborta a transação. roolbacktransaction(trans) Sist. Distrib. II - Prof. Cesar A. Tacla 3 Sist. Distrib. II - Prof. Cesar A. Tacla 4 Do ponto de vista do programador, as propriedades ACID de um transação são normalmente garantidas por um servidor de objetos recuperáveis e sua API (JTA, SGBDs) Internamente, o que acontece? equivalência serial: consiste em intercalar as operações das transações de forma que o resultado produzido seja o mesmo que se as transações tivessem sido executadas sequencialmente. Mesmo resultado significa: As operações de leitura retornam os mesmos valores que numa execução sequencial As variáveis dos objetos tem os mesmos valores no final da execução que numa execução sequencial Como realizar uma interacalação Numa execução sequencial, uma transação executa as operações que referenciam as variáveis em conflito antes da outra transação Conflito: ocorre quando uma das transações modifica uma variável e a outra transação lê ou modifica a mesma variável Logo, numa intercalação serial equivalente (T e U são transações): T executa as operações conflitantes antes de U ou U executa as operações conflitantes antes de T Sist. Distrib. II - Prof. Cesar A. Tacla 5 Sist. Distrib. II - Prof. Cesar A. Tacla 6 Transações: Intercalação é equivalente a execução serial Exemplo de intercalação: T: ; ; write(i, 0) U: ; write(j, 30); z=read(i) Intercalação: transação T executa operações conflitantes sobre as variáveis i e j antes da transação U write(i,0) Inicialmente i = j = 2 Execução T antes de U Serial i 0 j 30 write(i,0) x y z 0 write(i,0) Intercalação Sist. Distrib. II - Prof. Cesar A. Tacla 7 Sist. Distrib. II - Prof. Cesar A. Tacla 8 3

4 Transações: Intercalação é equivalente a execução serial write(i,0) Execução U antes de T i j write(i, 0) x y=read(j) write(j, 30) y z Exercício xt=read(j) ; yt=read(i); write(j, 44); write(i, 33) xu=read(k); write(i, 55); yu=read(j); write(k, 66) Encontre 2 intercalações equivalentes a execução serial de T e U Serial 0 2 Intercalação 0 2 Sist. Distrib. II - Prof. Cesar A. Tacla 9 Sist. Distrib. II - Prof. Cesar A. Tacla Transações: recuperação em caso de abort Exemplo de não-equivalência: T acessa i antes de U, porém T acessa j depois de U Transaction T: Transaction U: Quando uma transação aborta, o servidor deve tomar as precauções para que as outras transações concorrentes não observem os efeitos intermediários da transação abortada write(i, 0) write(j, 30) Figure 2.0 Dois problemas podem ocorrer Leituras com ru z = read (i) Sist. Distrib. II - Prof. Cesar A. Tacla 2 Sist. Distrib. II - Prof. Cesar A. Tacla 22 Transações: leituras com ru Transações: leituras com ru : s = a.getsaldo() a.setbalance(balance + 0) s = a.getsaldo() $00 a.setsaldo(s + 0) $0 Figure 2. abort transaction : s = a.getsaldo() a.setbalance(balance + ) s = a.getsaldo() $0 a.setsaldo(s + ) $30 commit transaction A execução intercalada é equivalente à serial T aborta quando U já havia realizado o commit U não pode voltar atrás. Problema de consistência pois o saldo correto seria de $ e não $30 Sist. Distrib. II - Prof. Cesar A. Tacla 23 Recuperação No caso anterior, a situação é irrecuperável. U pegou um resultado intermediário de T e realizou o commit. Após o commit não pode voltar atrás. Para termos uma situação recuperável, U deve fazer o commitment somente após T fazê-lo. Se T abortar, toda transição que observou um resultado intermediário de T deve abortar também Problema: aborts em cascata Sist. Distrib. II - Prof. Cesar A. Tacla 24 4

5 Transações: leituras com ru Recuperação do abort em cascata No exemplo, U deve abortar também Além disso, todas as transações que «viram» os efeitos de U devem também abortar e assim por diante Para evitar aborts em cascata: Uma transação somente pode ler um objeto que foi modificado por transações que já realizaram o commit ou abortaram. Logo, toda operação de leitura deve esperar que todas as transações que tenham feito um write no objeto façam o commit ou abortem. No exemplo, U deve esperar até que T aborte para fazer a.getsaldo() Transações: escritas prematuras : : Im = $00 a.setsaldo(05) $05 abort Im = $05 a.setsaldo(0) $0 commit Alguns SGBDs guardam imagens antes das atualizações Ex. antes do setsaldo em T temos imagem = $00 Antes do setbalance em U temos imagem = $05 Se U aborta, obteremos o saldo correto = $05 Mas, se T aborta (após commitment de U) voltaremos a ter saldo = $00!!! ERRO!!! Sist. Distrib. II - Prof. Cesar A. Tacla 25 Sist. Distrib. II - Prof. Cesar A. Tacla 26 Transações: escritas prematuras Transações: recuperação em caso de abort Para assegurar resultados corretos quando este esquema de imagem é utilizado deve-se: Fazer as operações de escrita somente depois que as transações anteriores (que acessam os mesmos objetos) tenham feito commitment ou tenham abortado Execuções ESTRITAS de transações As operações de leitura e de escrita aguardam até que as transações anteriores tenham committed ou abortado Isto reforça a propriedade de isolamento Em resumo, para evitar Leituras com ru Sist. Distrib. II - Prof. Cesar A. Tacla 27 Sist. Distrib. II - Prof. Cesar A. Tacla 28 Transações aninhadas Transações aninhadas: características T : top-level transaction T = opensubtransaction T 2 = opensubtransaction T : T 2 : opensubtransaction opensubtransaction T : T 2 : Figure 2.3 T 2 : Transações são compostas de outras transações Uma transação pode iniciar várias subtransações Subtransações podem ter subtransações opensubtransaction opensubtransaction T 2 : prov.commit commit abort Para uma transação pai, as subtransações são atômicas Transações de mesmo n Sist. Distrib. II - Prof. Cesar A. Tacla 29 Sist. Distrib. II - Prof. Cesar A. Tacla 30 5

6 Transações aninhadas: vantagens sobre as planas Transações aninhadas: commitment Transações aninhadas permitem maior concorrência Subtransações de mesmo n Uma transação pode abortar ou fazer commit somente se suas subtransações já completaram Quando uma subtransação completa, ela pode fazer commit provisório ou abortar. A decisão de abortar é final Quando uma transação pai aborta, todos as subtransações abortam (mesmo que tenham feito um commit provisório) Se uma subtransação aborta então o pai pode decidir abortar ou não. Se a transação top-level faz commit, então todas as subtransações que já fizeram o commit provisório podem fazer o commit definitivo, desde que seus ancestrais não tenham abortado. Se T commits então T, T e T2 podem fazer o commit. Supondo que T2 tenha abortado, T2 e T22 não poderiam fazer o commit. Sist. Distrib. II - Prof. Cesar A. Tacla 3 Sist. Distrib. II - Prof. Cesar A. Tacla 32 Transações aninhadas: estados de uma transação Transações: implementação Uma transação não pode escrever diretamente no objeto partilhado em uso Se isso acontecer, a transação não será atômica e nem isolada das outras transações concorrentes Implementações: Workspace privado Log Sist. Distrib. II - Prof. Cesar A. Tacla 33 Sist. Distrib. II - Prof. Cesar A. Tacla 34 Transações: implementação Transações: implementação Workspace privativo As transações utilizam um espaço separado e temporário; Todas as alterações são gravadas nesse espaço temporário; O problema dessa técnica é que é muito cara (e demorada); Uma otimização pode ser feita mantendo somente os blocos do arquivo alterados no workspace privativo (p. 492); Essa técnica é chamada de shadow blocks; Lista de intenções (Writeahead log ou Intentions log) Uma outra forma de implementar transações é através de um log de modificações; Nesse caso, os arquivos são modificados diretamente no SO, mas antes um log de modificações é gerado; Nesse log, estão contidos o estado original dos objetos modificados bem como o novo valor modificado; Se a transação termina, uma entrada commit é gravada no log; Se a transação é cancelada, as modificações são revertidas com base no log - essa operação é chamada de rollback; Sist. Distrib. II - Prof. Cesar A. Tacla 35 Sist. Distrib. II - Prof. Cesar A. Tacla 36 6

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011

Banco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011 Banco de Dados I Aula 18 - Prof. Bruno Moreno 22/11/2011 Plano de Aula Introdução SPT Sistemas monousuários e multiusuários Sistemas multiprogramados Transação - Definição Concorrência de Transações Log

Leia mais

Sistemas Distribuídos Transações

Sistemas Distribuídos Transações Sistemas Distribuídos Transações Vinícius Fernandes Soares Mota 1 2 Transações Transação: Unidade lógica de trabalho abrange um conjunto de operações de manipulação de dados que executam uma única tarefa

Leia mais

e c d o o r B s s n i : l e F s

e c d o o r B s s n i : l e F s e d o t n e m a s s e c o r P I I D B s e õ ç a s n a Tr Leite pe i l e F s i Lu : r o s s e Prof Contato luisleite@recife.ifpe.edu.br Professorluisleite.wordpress.com Ciclo de três aulas Processamento

Leia mais

Processamento de Transações

Processamento de Transações Processamento de Transações Processamento de Transações Transações Atômicas: Unidades lógicas de processamento sobre um banco de dados. Controle de Concorrência: Garantia de que múltiplas transações ativadas

Leia mais

Processamento de Transações

Processamento de Transações Processamento de Transações Processamento de Transações ) Transações Atômicas: Unidades lógicas de processamento sobre um banco de dados. ) Controle de Concorrência: Garantia de que múltiplas transações

Leia mais

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Processamento de Transações. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Processamento de Transações Laboratório de Bases de Dados Introdução Ambiente multiusuário vários usuários utilizam o mesmo sistema ao mesmo tempo múltiplos programas (transações) compartilham a mesma

Leia mais

Processamento de Transações

Processamento de Transações Arquitetura de Banco de Dados Processamento de Transações Carolina Nogueira Marcelo Eduardo Cardoso Rodrigo Dlugokenski Vítor De Araújo Bancos de dados Single-users versus Multiusers classificação baseada

Leia mais

Sumário. Introdução a Transações

Sumário. Introdução a Transações 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

Leia mais

Sistemas de Informação e Bases de Dados 2012/2013. Transações. Alberto Sardinha

Sistemas de Informação e Bases de Dados 2012/2013. Transações. Alberto Sardinha Sistemas de Informação e Bases de Dados 2012/2013 Transações Alberto Sardinha Sumário! Conceito de Transação! Propriedades ACID! Transações em SQL! Referências Raghu Ramakrishnan, Database Management Systems,

Leia mais

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Processamento de Transações. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Processamento de Transações Banco de Dados Introdução Ambiente multiusuário vários usuários utilizam o mesmo sistema ao mesmo tempo múltiplos programas (transações) compartilham a mesma CPU Forma de execução

Leia mais

se a transação falhar entre os 3 passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência

se a transação falhar entre os 3 passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência Bases de Dados Transacções Propriedades ACID 1 T Atomicidade i : read(a) 2 A := A 50 se a transação falhar entre os 3 write(a) passos 4 6, os passos 1 3 ficam sem efeito 4 read(b) Consistência 5 B := B

Leia mais

Banco de Dados I 6 Transações e Controle de Concorrência

Banco de Dados I 6 Transações e Controle de Concorrência Banco de Dados I 6 Transações e Controle de Concorrência Grinaldo Lopes de Oliveira (grinaldo( grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos

Leia mais

se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito

se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito Bases de Dados Transacções Propriedades ACID Atomicidade se a transacção falhar entre os passos 4 6, os passos 1 3 ficam sem efeito Consistência a soma A+B tem de ser igual antes e depois Isolamento nenhuma

Leia mais

Controle de Transação

Controle de Transação Curso: Ciência da Computação Disciplina: Banco de Dados Campus Lages Controle de Transação Prof. Edjandir C. Costa edjandir.costa@ifsc.edu.br Agenda Conceitos de transação e sistema Propriedades desejáveis

Leia mais

Sumário. Controle de Concorrência

Sumário. Controle de Concorrência 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

Leia mais

Gerenciamento de Transações em Banco de Dados

Gerenciamento de Transações em Banco de Dados Gerenciamento de Transações em Banco de Dados Daniela Barreiro Claro MAT A60 Aula 13 Introdução à Transação 2 Transação É uma coleção de operações que formam uma única unidade lógica As transações acessam

Leia mais

Sumário. Recuperação de Falhas

Sumário. Recuperação de Falhas 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

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada

Leia mais

Concorrência. Prof. Márcio Bueno. Material do Prof. Paulo Pires

Concorrência. Prof. Márcio Bueno. Material do Prof. Paulo Pires Concorrência Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material do Prof. Paulo Pires Controle de Concorrência SGBD sistema multiusuário em geral diversas transações executando simultaneamente

Leia mais

PROCESSAMENTO DE TRANSAÇÕES

PROCESSAMENTO DE TRANSAÇÕES UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROCESSAMENTO DE TRANSAÇÕES Profº Erinaldo Sanches Nascimento Objetivos Discutir a necessidade de controle de concorrência e

Leia mais

Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações

Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações Ciência da Computação GBC043 Sistemas de Banco de Dados Processamento de Transações Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Introdução... SGBDs são em geral multi-usuários

Leia mais

Sistemas Distribuídos. 13 Transações Distribuídas. Transações Distribuídas. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Sistemas Distribuídos. 13 Transações Distribuídas. Transações Distribuídas. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Sistemas Distribuídos 13 Transações Distribuídas n Transações Distribuídas Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Uma transação define uma sequência de operações. Objetivo: permitir

Leia mais

23/05/12. Conteúdo. Introdução ao gerenciamento de transações. Motivação. Motivação. Motivação. Motivação

23/05/12. Conteúdo. Introdução ao gerenciamento de transações. Motivação. Motivação. Motivação. Motivação Conteúdo Introdução ao gerenciamento de transações Aluno: Danusa Ribeiro drbc@cin.ufpe.br Professoras: Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias Lóscio - bfl@cin.ufpe.br Centro de Informática

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Transação e Controle de Concorrência Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Setembro/2003 Tópicos Sincronização em Sistemas Distribuídos Exclusão Mútua Transações Distribuídas

Leia mais

Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações. Transação

Introdução. Processamento de Transações. Introdução. Introdução. Transações. Transações. Transação Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados Processamento de Transações Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 Introdução... SGBDs

Leia mais

Bases de Dados 2013/2014 Transações. Helena Galhardas. Sumário!

Bases de Dados 2013/2014 Transações. Helena Galhardas. Sumário! Bases de Dados 2013/2014 Transações Helena Galhardas Sumário! Conceito de Transação! Propriedades ACID! Conflitos e Serializabilidade! Recuperabilidade! Protocolos de controlo de concorrência! Transações

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS PROCESSAMENTO DE TRANSAÇÕES FELIPE G. TORRES INTRODUÇÃO AO PROCESSAMENTO DE TRANSAÇÕES Transação pode ser conceituada como unidades lógicas de processamento de banco

Leia mais

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Recuperação. Carlos Eduardo Portela Serra de Castro

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Recuperação. Carlos Eduardo Portela Serra de Castro UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Recuperação Carlos Eduardo Portela Serra de Castro * Sumário 1 Conceitos 2 Atualização adiada 3 Atualização imediata 4 Paginação shadow 5 Aries

Leia mais

Processamento de Transações II

Processamento de Transações II UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Processamento de Transações II Carlos Eduardo Portela Serra de Castro * Processamento de Transações II Sumário Definindo Plano de Execução Baseado

Leia mais

Sincronização e Concorrência

Sincronização e Concorrência Tópicos da Aula Sincronização e Concorrência Sincronização sincronização interna sincronização externa sincronização de relógio métodos de sincronização Cristian Berkeley tempo lógico Controle de Concorrência

Leia mais

Processamento de Transações

Processamento de Transações Processamento de Transações Banco de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM é

Leia mais

Aula 03. Evandro Deliberal

Aula 03. Evandro Deliberal Aula 03 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Concorrência Método Sincronização Problemas: Perda de consistência Acesso a dados inconsistentes Perda de atualizações

Leia mais

BD II (SI 587) Técnicas de Recuperação. Josenildo Silva.

BD II (SI 587) Técnicas de Recuperação. Josenildo Silva. BD II (SI 587) Técnicas de Recuperação Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de

Leia mais

Criando Transações. Prof. Fernanda Baião. TbEstoqueLivros. TbEstoqueLivros. ID IDLoja IDLivro Estoque

Criando Transações. Prof. Fernanda Baião. TbEstoqueLivros. TbEstoqueLivros. ID IDLoja IDLivro Estoque Criando Transações Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SQL Tabelas Exemplo TbAutor TbAutor TbEditora CNPJ TbEditora CNPJ TbLivro ISBN Autor Editora TbLivro ISBN Autor Editora TbLoja CNPJ

Leia mais

BD II (SI 587) Transações em Banco de Dados. Prof. Josenildo Silva

BD II (SI 587) Transações em Banco de Dados. Prof. Josenildo Silva BD II (SI 587) Transações em Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são adaptados de Database System Concepts, 6th Ed. Silberschatz, Korth and Sudarshan distribuídos

Leia mais

BANCO DE DADOS 2 TRANSAÇÃO

BANCO DE DADOS 2 TRANSAÇÃO BANCO DE DADOS 2 TRANSAÇÃO Prof. Edson Thizon Reconstrução ( recovery ) Idéia básica Em algum momento no tempo, todo sistema computacional apresentará uma falha. O SGBD deve incorporar mecanismos de proteção

Leia mais

BD II (SI 587) Controle de Concorrência. Josenildo Silva.

BD II (SI 587) Controle de Concorrência. Josenildo Silva. BD II (SI 587) Controle de Concorrência Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de

Leia mais

Técnicas de Recuperação em Banco de Dados

Técnicas de Recuperação em Banco de Dados Técnicas de Recuperação em Banco de Dados Daniela Barreiro Claro MAT A60 Aula 14 Recuperação em Banco de Dados 2 Falhas podem ocorrer em qualquer Sistema Catastroficas e não-catastroficas SGBD deve garantir

Leia mais

Contato. professorluisleite.wordpress.com

Contato. professorluisleite.wordpress.com BD II Recuperação de Falhas Professor: Luis Felipe Leite Contato luisleite@recife.ifpe.edu.br professorluisleite.wordpress.com Ciclo de três aulas Processamento de transações. Controle de Concorrência.

Leia mais

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 21. Escola Politécnica da Universidade de São Paulo

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 21. Escola Politécnica da Universidade de São Paulo PCS3413 Engenharia de So-ware e Banco de Dados Aula 21 Escola Politécnica da Universidade de São Paulo 1 TRANSAÇÃO E CONTROLE DE CONCORRÊNCIA Transação unidade de execução de programa que acessa e, possivelmente,

Leia mais

Controle de Transações. Banco de Dados André Luiz do Vale Soares

Controle de Transações. Banco de Dados André Luiz do Vale Soares Controle de Transações Banco de Dados André Luiz do Vale Soares 1 Transações de Banco de Dados O que são transações em BDs? São um conjunto de instruções SQL, tratadas como uma UNIDADE, ou seja, todas

Leia mais

Adriano Maranhão TRANSAÇÕES

Adriano Maranhão TRANSAÇÕES Adriano Maranhão TRANSAÇÕES DEFINIÇÃO Transação é uma unidade atômica de trabalho que atua sobre um banco de dados. Uma transação pode ser constituída por uma ou mais operações de acesso à base de dados.

Leia mais

6.1 Resumo das Características do Modelo Proposto

6.1 Resumo das Características do Modelo Proposto 6 Comparação entre s de Execução de Transação em Ambiente de Computação Móvel Este capítulo tem por objetivo apresentar um estudo comparativo entre os mais significativos modelos de execução de transação

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24 Apresentação

Leia mais

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK

Orientações. Transações - PostgreSQL. Relembrando: Propriedades desejáveis. Abrir Prompt de comando ROLLBACK Ciência da Computação GBC043 Sistemas de Banco de Dados Orientações Transações - PostgreSQL Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Executar os comandos conforme

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação

Leia mais

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de fevereiro de 2014 INSTRUÇÕES

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 13 de fevereiro de 2014 INSTRUÇÕES Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 13 de fevereiro de 2014 Ministério da Educação e Ciência p-fólio INSTRUÇÕES O tempo de duração da prova de p-fólio é de

Leia mais

Gerência de Transações Distribuídas

Gerência de Transações Distribuídas Transação Gerência de Transações Distribuídas Uma é uma unidade de computação consistente e confiável Transparência de concorrência Transparência de falhas Fernanda Baião baiao@cos.ufrj.br Banco de dados

Leia mais

BDII SQL TRANSAÇÃO Revisão 2

BDII SQL TRANSAÇÃO Revisão 2 exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

Leia mais

Sistemas de Gerência de Bancos de Dados

Sistemas de Gerência de Bancos de Dados Sistemas de Gerência de Bancos de Dados 4 - Consultas e Transações 4.4 - Gerência de Transações 1 Conceito de Transação Transação: seqüência de ações elementares que deverão ser executadas como se fossem

Leia mais

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 19 de fevereiro de 2013 INSTRUÇÕES

Resolução e Critérios de Correção U.C Sistemas de Gestão de Bases de Dados. 19 de fevereiro de 2013 INSTRUÇÕES Resolução e Critérios de Correção U.C. 21103 Sistemas de Gestão de Bases de Dados 19 de fevereiro de 2013 Ministério da Educação e Ciência p-fólio INSTRUÇÕES O tempo de duração da prova de p-fólio é de

Leia mais

de Bases de Dados Exame 1

de Bases de Dados Exame 1 Ano lectivo 009/0 o semestre Administração e Optimização de Bases de Dados Exame Regras O exame tem a duração de horas. O exame é individual e com consulta Só poderá abandonar a sala ao fim de hora, mediante

Leia mais

Banco de dados. Prof. Emiliano S. Monteiro

Banco de dados. Prof. Emiliano S. Monteiro Banco de dados Prof. Emiliano S. Monteiro Processamento de transações Sistema monousuário x multiusuário Um SGBD é monousuário se no máximo um usuário puder utilizá-lo de cada vez. Um SGBD é multiusuário

Leia mais

Checkpoint. Checkpoint

Checkpoint. Checkpoint Checkpoint SGBD com alta demanda de transações Log de tamanho grande recovery demorado Checkpoint momento em que o SGBD grava no BD todas as atualizações feitas por transações disparo manual ou automático

Leia mais

Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Banco de Dados II. Transações. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL. Banco de Dados II Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Gerenciamento de : Recuperação; Concorrência.

Leia mais

Controle de Concorrência. com. Locks

Controle de Concorrência. com. Locks Controle de Concorrência com Locks Locks Método para controlar acesso concorrente a dados compartilhados em sistemas de banco de dados através de transações. Locks tem sido usados em SGBDs por muito anos.

Leia mais

Sistemas Distribuídos Transações Distribuídas. Vinícius Fernandes Soares Mota

Sistemas Distribuídos Transações Distribuídas. Vinícius Fernandes Soares Mota Sistemas Distribuídos Transações Distribuídas Vinícius Fernandes Soares Mota 1 2 Transações Na última aula... Transação: Unidade lógica de trabalho abrange um conjunto de operações de manipulação de dados

Leia mais

revisão Controle de Concorrência com Locks Bancos de Dados I 2015/02

revisão Controle de Concorrência com Locks Bancos de Dados I 2015/02 Bancos de Dados I 2015/02 revisão Controle de Concorrência com Locks Transações em SQL Prof. Altigran Soares da Silva Atomico=transaction manager Consistencia=controle concorrencia/commit Isolamento=controle

Leia mais

Processamento de INDUSTRIA 4.0. Big Data. Aula #8 - Transações e concorrência MARMELADA NO RING, FONTE: ESTADAO EDUARDO CUNHA DE ALMEIDA

Processamento de INDUSTRIA 4.0. Big Data. Aula #8 - Transações e concorrência MARMELADA NO RING, FONTE: ESTADAO EDUARDO CUNHA DE ALMEIDA INDUSTRIA 4.0 Processamento de Big Data MARMELADA NO RING, FONTE: ESTADAO Aula #8 - Transações e concorrência EDUARDO CUNHA DE ALMEIDA Agenda - Transações - Atomicidade - Consistência - Isolamento - Durabilidade

Leia mais

TRANSAÇÕES: SISTEMA DE RECUPERAÇÃO E CONTROLE DE CONCORRÊNCIA

TRANSAÇÕES: SISTEMA DE RECUPERAÇÃO E CONTROLE DE CONCORRÊNCIA UNIDADEB Teoria de Banco de Dados Unidade B TRANSAÇÕES: SISTEMA DE RECUPERAÇÃO E CONTROLE DE CONCORRÊNCIA Transações Quando estudamos os bancos de dados, utilizamos vários recursos sem entender como eles

Leia mais

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 6 de junho de 2018 Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas Nome: Grupo 1 (7 valores) 1 a) Quais são as 4 propriedades ACID que

Leia mais

Controle de Concorrência em Banco de Dados

Controle de Concorrência em Banco de Dados Controle de Concorrência em Banco de Dados Controle de concorrência é um método usado para garantir que as transações sejam executadas de uma forma segura e sigam as regras ACID. Os SGBD devem ser capazes

Leia mais

Administração e Optimização de BDs

Administração e Optimização de BDs Departamento de Engenharia Informática 2010/2011 Administração e Optimização de BDs Mini-Projecto 3 A entregar a 7 de Maio de 2011 2º semestre A resolução deve ser claramente identificada com o número

Leia mais

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai

Banco de Dados. Controle de Concorrência e Recuperação de Transação. Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai Banco de Dados Controle de Concorrência e Recuperação de Transação Última atualização: 20 de janeiro de 2006 Prof. João Eduardo Ferreira Prof. Osvaldo Kotaro Takai Tópicos Modelo Transacional Clássico

Leia mais

Transacções em Sistemas Distribuídos

Transacções em Sistemas Distribuídos Transacções em Sistemas Distribuídos Função transferir Primeira solução transferir(contaa, contab, Montante) { bancoa.lersaldo (contaa, SaldoA); bancob.lersaldo (contab, SaldoB); bancoa.actualizarsaldo

Leia mais

Programação Concorrente Locks

Programação Concorrente Locks Programação Concorrente Prof. Eduardo Alchieri Variáveis do tipo trava (lock) Lock: É um mecanismo de sincronização de processos/threads, em que processos/threads devem ser programados de modo que seus

Leia mais

Transacções Atómicas Distribuídas

Transacções Atómicas Distribuídas Transacções Atómicas Distribuídas Exemplo O Senhor Silva é possuidor de duas contas em bancos diferentes (A e B) e pretende fazer um movimento de 100.000$00 do banco A para o banco B. O procedimento para

Leia mais

erro lógico: a transacção não pode completar devido a condição de erro erro de sistema: o sistema entrou num estado que impede a transacção

erro lógico: a transacção não pode completar devido a condição de erro erro de sistema: o sistema entrou num estado que impede a transacção Bases de Dados Recuperação Classificação de falhas Falha de transacção erro lógico: a transacção não pode completar devido a condição de erro erro de sistema: o sistema entrou num estado que impede a transacção

Leia mais

Introdução a Banco de Dados

Introdução a Banco de Dados Introdução a Banco de Dados Prof. Mário A. Nascimento, Ph.D. mario@dcc.unicamp.br http://www.dcc.unicamp.br/~mario Material de autoria original de Raghu Ramakrishnan. 1 Bibliografia Ramakrishnan R., Database

Leia mais

Aluísio Augusto Silva Gonçalves 17 de maio de 2018

Aluísio Augusto Silva Gonçalves 17 de maio de 2018 CONSISTÊNCIA E CONSENSO CONSTRUINDO SISTEMAS DISTRIBUÍDOS TOLERANTES A FALHAS Aluísio Augusto Silva Gonçalves 17 de maio de 2018 CONTEÚDO Recapitulando Garantias de consistência Linearizabilidade Garantias

Leia mais

Sistemas Distribuídos Aula 20

Sistemas Distribuídos Aula 20 Sistemas Distribuídos Aula 20 Aula passada Redes sem fio Coordenando acesso ao meio Eleição de líder Aula de hoje Sistema transacional ACID Exemplos 2-Phase Locking Sistema Transacional Considere sistema

Leia mais

Lista de Exercícios 12 Transações

Lista de Exercícios 12 Transações UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO SCC0141 - Bancos de Dados e Suas Aplicações Prof. José Fernando Rodrigues Júnior 2º semestre

Leia mais

Revisão e Introdução 23/05/12. Controle Distribuído da Concorrência. Revisão de Conceitos. Revisão de Conceitos. Transação Operação

Revisão e Introdução 23/05/12. Controle Distribuído da Concorrência. Revisão de Conceitos. Revisão de Conceitos. Transação Operação Controle Distribuído da Concorrência Controle Distribuído da Concorrência REVISÃO E INTRODUÇÃO SERIALIZABILIDADE ALGORITMOS LOCKING-BASED Aluno: Walter Travassos Sarinho wts@cin.ufpe.br ALGORITMOS TIMESTAMP-BASED

Leia mais

Avisos. Processamento de Transações Controle de Concorrência. Roteiro da aula. Tipos de bloqueio: Binários. Protocolos baseados em bloqueio

Avisos. Processamento de Transações Controle de Concorrência. Roteiro da aula. Tipos de bloqueio: Binários. Protocolos baseados em bloqueio Ciência da Computação GBC043 Sistemas de Banco de Dados Processamento de Transações Controle de Concorrência Avisos Lista de exercícios adicionais na página da disciplina Profa. Maria Camila Nardini Barioni

Leia mais

Transacções concorrentes exemplo. B := B 50 write(b) read(a) A := A + 50 write(a)

Transacções concorrentes exemplo. B := B 50 write(b) read(a) A := A + 50 write(a) Bases de Dados Concorrência Transacções concorrentes exemplo T 1 : B := B 50 write(b) A := A + 50 write(a) T 2 : display(a+b) T 2 pode dar um resultado inconsistente quando executada em paralelo com T

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.

Leia mais

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014

Bancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014 Bancos de Dados Distribuídos Gabriel Resende Gonçalves 4 de fevereiro de 2014 Sumário Introdução; Vantagens e Desvantagens; Regras Básicas; Tipos de BDDs; Processamento de Transações; Recuperação de Falhas;

Leia mais

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos ECO036 - Sistemas Paralelos e Distribuídos Sistemas de arquivos distribuídos - Daniel Nogueira 20938 - Felipe Castro Simões 21525 Sumário 1. Introdução 2. Sistemas de

Leia mais

Técnica UNDO/REDO. Checkpoint

Técnica UNDO/REDO. Checkpoint Técnica UNDO/REDO Quando se percorre o Log forward para fazer REDO, é possível que um dado X tenha sido atualizado por mais de uma transação committed Variante da técnica UNDO/REDO detectar que X é atualizado

Leia mais

Memória Transacional. Programação Concorrente 2012

Memória Transacional. Programação Concorrente 2012 Motivação dificuldades de se trabalhar com memória compartilhada e locks deadlocks e serialização sincronização wait-free requer hardware específico compareandset e multicompareandset usado para operações

Leia mais

Programação Concorrente e Paralela

Programação Concorrente e Paralela Memória Transacional 2016 Motivação dificuldades de se trabalhar com memória compartilhada e locks deadlocks e serialização sincronização wait-free: soluções específicas para cada estrutura de dados listas,

Leia mais

Universidade Federal do Maranhão

Universidade Federal do Maranhão Universidade Federal do Maranhão Banco de Dados II Banco de Dados Distribuídos Carlos Eduardo Portela Serra de Castro * Sumário Introdução Vantagens Projeto de Bases de Dados Distribuídas Classificação

Leia mais

Exercícios Módulo Banco de Dados I (08/07/2006)

Exercícios Módulo Banco de Dados I (08/07/2006) UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLOGICAS DEPARTAMENTO DE INFORMÁTICA Exercícios Módulo Banco de Dados I (08/07/2006) Marcelo Santos Daibert João Carlos da Silva Juiz de Fora

Leia mais

Estudar é a melhor forma de se evitar a concorrência

Estudar é a melhor forma de se evitar a concorrência Estudar é a melhor forma de se evitar a concorrência Paulo de Freitas Na última vez que utilizei este espaço, sugeri aos candidatos interessados em participar do concurso para o cargo de escrevente técnico

Leia mais

DDL). O resultado da compilação dos parâmetros DDLs é

DDL). O resultado da compilação dos parâmetros DDLs é Banco Dados Aula 2 Linguagens de Banco de Dados e Tipos de Usuários 1. Linguagens de Banco de Dados Um sistema de banco de dados proporciona dois tipos de linguagens: uma específica para os esquemas do

Leia mais

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas UTFPR - Universidade Tecnológica Federal do Paraná Processamento e otimização de consultas Leyza Baldo Dorini 04/Nov/2009 Programação da aula Introdução: processamento e otimização de consultas Etapas:

Leia mais

Contato. professorluisleite.wordpress.com

Contato. professorluisleite.wordpress.com BD II Controle de Concorrência Professor: Luis Felipe Leite Contato luisleite@recife.ifpe.edu.br professorluisleite.wordpress.com Ciclo de três aulas Processamento de transações. Controle de Concorrência.

Leia mais