Sistemas Distribuídos Transações

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

Download "Sistemas Distribuídos Transações"

Transcrição

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

2 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 Conecta ao Banco de Dados Começa transação Operações de consulta/atualização... Finaliza transação Começa transação Operações de consulta/atualização... Finaliza transação Desconecta

3 3 Transações Exemplo: Um banco de dados... Transição de Estados de Execução begin (start) transaction ativa end transaction parcialmente efetivada commit efetivada read, write abort (rollback) abort (rollback) falha encerrada

4 4 Transações O que acontece se a energia acabar no meio de uma transação, ou se houver um problema com o disco? O que acontece quando duas transações executam simultaneamente manipulando o mesmo dado? Pode ocorrer a um estado inconsistente...

5 Transações Propriedades ACID 5 Atomicidade Consistência Isolamento Durabilidade

6 Transações Propriedades ACID 6 Atomicidade: ou todas as operações de uma transação têm seus efeitos registrados no sistema ou então nenhuma delas é registrada (tudo-ou-nada). Consistência: uma transação deve provocar uma transição do sistema de um estado consistente para outro estado consistente. Isolamento: a execução de uma transação não deve interferir na execução de nenhuma outra transação Durabilidade: uma vez completada, a transação é registrada em algum meio de armazenamento permanente

7 Operações em uma conta bancária usados numa transação 7 deposit(amount) deposita amount na conta withdraw(amount) retira amount da conta getbalance() -> amount retorna o balance da conta setbalance(amount) Altera balanço da conta Transação T: a. withdraw(100); b. deposit(100); c. withdraw(200); b. deposit(200);

8 Operações no coordenador da transação 8 opentransaction() -> trans; Inicia nova transação e divulga um TID (idendificador de transação) único. closetransaction(trans) -> (commit, abort); Finaliza uma transação: um commit significa que a transação foi efetuada com sucesso; um abort indica que ela não foi completada. aborttransaction(trans); aborta a transação.

9 9 Ciclos de vida de uma transação Bem sucedida Abortada pelo Cliente Abortada pelo Servidor opentransaction opentransaction opentransaction operação operação operação operação operação peração Servidor aborta transação operação operação ERRO em operação Reportado ao cliente closetransaction aborttransaction

10 10 Controle de Concorrência Execução Serial (sequencial): A B t 1 t 2 t 3 tempo Execução Intercalada: A B A B t 1 t 2 t 3 t 4 t 5 tempo

11 11 Controle de Concorrência Execução Serial (sequencial): diversas transações executadas em sequência deixa a base de dados em estado correto e consistente Execução Intercalada: comandos de diversas transações são intercalados pode levar a inconsistências Serial Intercalada Isolamento Concorrência Chance de inconsistências

12 12 Execução Serial X Intercalada Execução serial estado inicial correto e consistente estado final correto e consistente

13 13 Execução Serial X Intercalada Execução Intercalada Toda execução serial é consistente Mas uma execução intercalada só é consistente se for igual ao resultado de uma execução em sequência (em ordem conhecida) esta execução é dita serializável

14 14 Controle de concorrência Problemas de Execução Intercalada 1. Problema da atualização perdida 2. Recuperações inconsistentes

15 Linha do tempo Problema da perda de atualização (lost update problem) 15 a = $100 b = $200 c = $300 Transaction T : balance = b.getbalance(); b.setbalance(balance*1.1); a.withdraw(balance/10) balance = b.getbalance(); $200 b.setbalance(balance*1.1); $220 a.withdraw(balance/10) $80 Transaction U: balance = b.getbalance(); b.setbalance(balance*1.1); c.withdraw(balance/10) balance = b.getbalance(); $200 b.setbalance(balance*1.1); $220 c.withdraw(balance/10) $280

16 Linha do tempo Problema de recuperações incosistentes 16 a = $200 b = $200 Transaction V: a.withdraw(100) b.deposit(100) a.withdraw(100); $100 b.deposit(100) $300 Transaction W: abranch.branchtotal() total = a.getbalance() $100 total = total+b.getbalance() $300 total = total+c.getbalance()

17 Equivalência Serial 17 Se cada uma de várias transações tem o efeito correto quando executada sozinha, podemos inferir que, se essas transações forem executadas uma por vez, em alguma ordem, o efeito combinado também será correto Uso da equivalência serial como critério para uma execução concorrente correta evita a ocorrência de atualizações perdidas e recuperações inconsistentes.

18 18 Equivalência serial Todos os acessos a um dado devem ser serializados em relação às transações. Protocolos de controle de concorrência devem serializar as transações. Soluções para concorrência de transações: Travamento com controle distribuído de deadlocks: dado escrito por uma transação é atravado até o final da transação. Controle otimista de concorrência: supõe-se que não ocorrerá conflito. Na hora do commit, verifica-se problemas de concorrência. Uma das transações envolvidas no problema deve dar um abort. Rótulos de tempo: cada trasação tem um tempo associado e os dados tem o tempo do último acesso armazenado. Transações abortam quando descobrirem que executaram uma operação tarde demais (por exemplo, perderam uma atualização).

19 Linha do tempo Equivalência Serial 19 Do exemplo de atualização perdida Transaction T: balance = b.getbalance() b.setbalance(balance*1.1) a.withdraw(balance/10) balance = b.getbalance() $200 b.setbalance(balance*1.1) $220 a.withdraw(balance/10) $80 Transaction U: balance = b.getbalance() b.setbalance(balance*1.1) c.withdraw(balance/10) balance = b.getbalance() $220 b.setbalance(balance*1.1) $242 c.withdraw(balance/10) $278

20 Linha do tempo Equivalência Serial Como solucionar o problema de recuperações inconsistentes por equivalência serial? 20 Transaction V: a.withdraw(100) b.deposit(100) a.withdraw(100); $100 b.deposit(100) $300 Transaction W: abranch.branchtotal() total = a.getbalance() $100 total = total+b.getbalance() $300 total = total+c.getbalance()

21 Linha do tempo Equivalência Serial Como solucionar o problema de recuperações inconsistentes por equivalência serial? 21 Transaction V: a.withdraw(100); b.deposit(100) a.withdraw(100); $100 b.deposit(100) $300 Transaction W: abranch.branchtotal() total = a.getbalance() $100 total = total+b.getbalance() $400 total = total+c.getbalance()...

22 Regras para conflito das operações read e write 22 Operações que dependem da ordem em que foram executas Operações das várias transações Conflito Razão read read Não Porque um par de operações de leitura não dependem da ordem em que foram executadas read write Sim A ordem altera o resultado final write write Sim A ordem altera o resultado final

23 Erro de leitura (dirty read) quando a transação T aborta 23 Transaction T: a.getbalance() a.setbalance(balance + 10) balance = a.getbalance() $100 a.setbalance(balance + 10) $110 abort transaction Transaction U: a.getbalance() a.setbalance(balance + 20) balance = a.getbalance() $110 a.setbalance(balance + 20) $130 commit transaction

24 Erro de leitura (dirty read) quando a transação T aborta Transaction T: a.getbalance() a.setbalance(balance + 10) Resultado: O Objeto considerou o valor de 110 que nunca foi persistido de verdade!!!! Transaction U: a.getbalance() a.setbalance(balance + 20) 24 balance = a.getbalance() $100 a.setbalance(balance + 10) $110 abort transaction balance = a.getbalance() $110 a.setbalance(balance + 20) $130 commit transaction

25 tempo Problemas de Execução Intercalada 25 Ex: Leitura inválida (Dirty Read): T1 Read(A) Write(A+100) abort T2 Read(A) Write(A 0) commit Exemplo 1: Transação T 1 : deposita R$100,00 na conta A. Transação T 2 : saca tudo de A. T 1 é cancelada

26 tempo Problemas de Execução Intercalada 26 Ex: Leitura Resultado: inválida foi (Dirty possível Read): sacar R$ T1 Read(A) Write(A+100) abort T2 Read(A) Write(A 0) commit 100,00 a mais. Exemplo 1: Transação T 1 : deposita R$100,00 na conta A. Transação T 2 : saca tudo de A. T 1 é cancelada

27 tempo Problemas de Execução Intercalada 27 Ex: Leitura inválida (Dirty Read): T1 Read(A) Write(A-100) Read(B) Write(B+100) abort T2 Read(A) Write(A+1%) Read(B) Write(B+1%) commit Exemplo 2: Transação T 1 : transfere R$100,00 da conta A para a conta B. Transação T 2 : incrementa A e B em 1% (juros).

28 tempo Problemas de Execução Intercalada 28 Ex: Leitura inválida (Dirty Read): T1 Read(A) Write(A-100) Read(B) Write(B+100) abort T2 Read(A) Write(A+1%) Read(B) Write(B+1%) commit Exemplo 2: inicialmente A = 500 e B = 600 resultado esperado: T1 (rollbacked) seguido de T2 é A = 505 (A+1%) e B = 606 (B+1%) no entanto, com T1 e T2 em paralelo, o que se tem é: A = 404 (A %) e B = 707 (B %)

29 tempo Problemas de Execução Intercalada 29 Ex: Leitura inválida (Dirty Read): T1 Read(A) Write(A-100) Read(B) Write(B+100) abort T2 Dirty read Read(A) Write(A+1%) Dirty read Read(B) Write(B+1%) commit Exemplo 2: A = 500 e B = 600 resultado esperado: T1 (rollbacked) seguido de T2 é A = 505 (A+1%) e B = 606 (B+1%) no entanto, com T1 e T2 em paralelo, o que se tem é: A = 404 (A %) e B = 707 (B %)

30 tempo Problemas de Execução Intercalada 30 Ex: Leitura inválida (Dirty Read): T1 Read(A) Write(A-100) Read(B) Write(B+100) abort T2 Dirty read Read(A) Write(A+1%) Dirty read Read(B) Write(B+1%) commit Resultado: a transferência de R$ 100 de T1 foi sobrescrita e T2 Exemplo 2: Suponde considerou que inicialmente valores errados A = 500 como e B = 600 base se cálculo de 1%. Ambos, A resultado e B esperado: estão errados. T1 (rollbacked) seguido de T2 é A = 505 (A+1%) e B = 606 (B+1%) no entanto, com T1 e T2 em paralelo, o que se tem é: A = 404 (A %) e B = 707 (B %)

31 Sobreleitura de valores não atualizados(uncommitted values) 31 A=100 Transaction T: a.setbalance(105) $100 a.setbalance(105) $105 Transaction U: a.setbalance(110) a.setbalance(110) $110 O que acontece se U for cancelada e T confirmada?

32 Sobreleitura de valores não atualizados(uncommitted values) 32 Transaction T: a.setbalance(105) $100 a.setbalance(105) $105 Transaction U: a.setbalance(110) a.setbalance(110) $110 O que acontece se U for cancelada e T confirmada? - O saldo fica de A fica $105

33 Sobreleitura de valores não atualizados(uncommitted values) 33 Transaction T: a.setbalance(105) $100 a.setbalance(105) $105 Transaction U: a.setbalance(110) a.setbalance(110) $110 O que acontece se U confirmada e depois T for cancelada? -

34 Sobreleitura de valores não atualizados(uncommitted values) 34 Transaction T: a.setbalance(105) $100 a.setbalance(105) $105 Transaction U: a.setbalance(110) a.setbalance(110) $110 O que acontece se U confirmada e depois T for cancelada? - T volta A para $100

35 35 Travas Método simples para forçar equivalência em série Servidor impede acesso a objeto travado Travamento de duas fases (two-phase locking). A primeira fase de cada transação é uma fase de crescimento, durante a qual as novas travas são adquiridas Na segunda fase, as travas são liberadas (uma fase de redução).

36 36 Travas Transaction T: balance = b.getbalance() b.setbalance(bal*1.1) a.withdraw(bal/10) Transaction U: balance = b.getbalance() b.setbalance(bal*1.1) c.withdraw(bal/10) Operations Locks Operations Locks opentransaction bal = b.getbalance() b.setbalance(bal*1.1) lock B opentransaction a.withdraw(bal/10) lock A bal = b.getbalance() waits for T s lock on B closetransaction unlock A, B lock B b.setbalance(bal*1.1) c.withdraw(bal/10) closetransaction lock C unlock B, C

37 37 Compatibilidade de travas Deve seguir as regras de conflito de operação: 1. Se uma transação T já executou uma operação de leitura sobre um objeto em particular, então uma transação concorrente U não deve escrever esse objeto até que T seja confirmada ou cancelada. 2. Se uma transação T já executou uma operação de escrita sobre um objeto em particular, então uma transação concorrente U não deve ler nem escrever esse objeto até que T seja confirmada ou cancelada.

38 38 Compatibilidade de travas For one object Lock requested read Lock already set none OK OK write read OK wait write wait wait

39 39 Questões Transações Vinícius Fernandes Soares Mota

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

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

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 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

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

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

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( [email protected]) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas * Material com créditos

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 [email protected] Agenda Conceitos de transação e sistema Propriedades desejáveis

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

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

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

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

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

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 [email protected] Nota Estes slides são adaptados de Database System Concepts, 6th Ed. Silberschatz, Korth and Sudarshan distribuídos

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

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

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 [email protected] Bloco B - sala 1B137 Introdução... SGBDs são em geral multi-usuários

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

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

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

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 [email protected] Bloco B - sala 937 Introdução... SGBDs

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. 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

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

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 [email protected] 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

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 [email protected] Banco de dados

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

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 [email protected] Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de

Leia mais

Concorrência. Sistemas Distribuídos e Tolerância a Falhas. Lia Ribeiro 1

Concorrência. Sistemas Distribuídos e Tolerância a Falhas. Lia Ribeiro 1 Concorrência Sistemas Distribuídos e Tolerância a Falhas Lia Ribeiro 1 Índice Consistência Atómica e sequencial Serializability Controle de concorrência One copy Serializability 2 Exclusão Mútua Técnica

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 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

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Transações Ver conjunto de slides na opção Transações

Leia mais

Transações, Controle de Concorrência e o Hibernate. Clodis Boscarioli

Transações, Controle de Concorrência e o Hibernate. Clodis Boscarioli Transações, Controle de Concorrência e o Hibernate Clodis Boscarioli Transações Um conjunto de várias operação em um BD pode ser visto pelo usuário como uma única unidade. Exemplo: A transferência de fundos

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

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

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 [email protected] Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de

Leia mais

Lock. Administração de Banco de Dados

Lock. Administração de Banco de Dados Lock Administração de Banco de Dados 1 Tópicos o Lock o Tipos de Lock o Recursos que podem ser bloqueados o Dica de Lock sobre uma Tabela o Dica de Lock em uma Sessão o Compatibilidade entre Locks 2 Lock

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

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

INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5)

INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) INE5645 Programação Paralela e Distribuída - Prova 1 22/10/2012 Aluno: Parte 1 Controle de Concorrência Conceitos Básicos (2,5) 1.1 (Verdade/Falso) Itens próprios de processos são: Espaço de endereçamento,

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

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

Transações e Controle de Concorrência Replicação de Arquivos e Tolerância a Falhas Grupo 15

Transações e Controle de Concorrência Replicação de Arquivos e Tolerância a Falhas Grupo 15 Transações e Controle de Concorrência Replicação de Arquivos e Tolerância a Falhas Grupo 15 Cláudia Macedo Amorim Tamer Albuquerque Pereira Sumário: Parte I Transações e Controle de Concorrência 1. Introduçã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

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 [email protected] http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha [email protected] Ementa Gerenciamento de : Recuperação; Concorrência.

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