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

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

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

Transcrição

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

2 2 Transações Na última aula... 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 Desconecta 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

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

4 Regras para conflito das operações read e write 4 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

5 5 Transações Distribuídas Transação Distribuída: transação cujas operações devem ser executadas em várias das estações de uma rede. Envolve atualização de dados em múltiplos BD Exemplo: transferência bancária de uma conta localizada em uma agência A para uma agência B UPDATE A.conta SET saldo= saldo 100 WHERE num = 49950; UPDATE B.conta SET saldo= saldo WHERE num = 80410; COMMIT;

6 6 Transações Distribuídas Dificuldade: garantia global de atomicidade Ou todos servidores efetivam a transação (commit) Ou transação é abortada em todos os servidores Solução: Protocolo para Garantia de Atomicidade (Atomic Commit Protocol)

7 Transações Distribuídas planas e aninhadas 7 (a) Transação plana (b) Transação aninhada X T 11 M X T T Y Cliente T T 1 T 12 T 21 N Cliente Z T 2 Y P T 22

8 Transações Distribuídas: Transação bancária aninhada 8 X Cliente T 1 A a.withdraw(10) T T = opentransaction Y opensubtransaction a.withdraw(10); opensubtransaction b.withdraw(20); opensubtransaction c.deposit(10); opensubtransaction d.deposit(20); closetransaction T 2 T 3 T 4 Z B C D b.withdraw(20) c. deposit(10) d.deposit(20)

9 Coordenando uma Transação distribuída 9 opentransaction closetransaction. join join participante A AgênciaX a.withdraw(4); T participante Cliente b.withdraw(t, 3); B b.withdraw(3); T = opentransaction a.withdraw(4); c.deposit(4); b.withdraw(3); d.deposit(3); closetransaction join Note: O Coordenador é um dos servidores, ex. AgênciaX AgênciaY participante C D AgênciaZ c.deposit(4); d.deposit(3);

10 Protocolos de confirmação atômica 13 Devem garantir que uma transação foi concluída com sucesso ou falhar Protocolo de confirmação de uma fase: Coordenador comunica pedido de confirmação ou cancelamento para todos os participantes Repete até que todos confirmem que seguiram o pedido

11 Protocolos de confirmação atômica 14 Devem garantir que uma transação foi concluída com sucesso ou falhar Protocolo de confirmação de uma fase: Coordenador comunica pedido de confirmação ou cancelamento para todos os participantes Repete até que todos confirmem que seguiram o pedido Por quê é inadequado?

12 Protocolos de confirmação atômica 15 Devem garantir que uma transação foi concluída com sucesso ou falhar Protocolo de confirmação de uma fase: Por quê é inadequado? Não permite que um servidor tome uma decisão unilateral de cancelar uma transação

13 16 Two Phase Commit Protocol (2PC) Protocolo para garantia de atomicidade de transações distribuídas Executado em todas as estações que tomam parte de uma transação distribuída Supõe a existência de um nodo coordenador, o qual é responsável pelo monitoramento da transação distribuída Normalmente, é o próprio nodo que disparou a transação Duas fases: Fase 1: Votação Fase 2: Apuração Suposição: transações já foram disparadas para os n nodos participantes

14 17 2PC: Fase 1 (Votação) Coordenador envia mensagem Prepare(CanCommit) para todos os participantes Participante responde com um Sim ou Não. Em caso de resposta Não, participante descarta transação.

15 18 2PC: Fase 2 (Apuração) Têm início após o recebimento de n votos Caso todos os votos sejam Sim Coordenador envia mensagem docommit para todos os participantes, que então realizam commit e respondem com um havecommited (acks) Após receber n havecommited, coordenador sinaliza sucesso da transação Caso haja um único voto Não Coordenador envia doabort para todos os participantes, que então abortam a transação Após receber n havecommited, coordenador finaliza protocolo

16 19 Comunicação no 2PC Coordenador Participante passo estado passo estado 1 prepared to commit cancommit? (waiting for votes) Yes 2 prepared to commit 3 committed docommit (uncertain) havecommitted 4 committed done

17 20 Comunicação no 2PC Quantas mensagens são necessárias? Coordenador Participante passo estado passo estado 1 prepared to commit cancommit? (waiting for votes) Yes 2 prepared to commit 3 committed docommit (uncertain) havecommitted 4 committed done

18 2PC: Número de Mensagens Trocadas 21 Observações: Nodos não podem alterar seu voto Um único Não tem poder de veto Número de mensagens trocadas: n mensagens do tipo CanCommit n mensagens contendo os votos dos participantes n mensagens doabort ou docommit n havecommited Total de mensagens: 4n O protocolo poderia funcionar sem as msg havecommited

19 22 2PC: Tratamento de Falhas Coordenadores e participantes entram em alguns estados em que ficam esperando mensagens uns dos outros E se estas mensagens não chegarem? Devido, por exemplo, a problemas na rede Soluções: timeout, para abandonar estado de espera Após o timeout: Abortar a transação Reenviar uma mensagem

20 23 2PC: Situações Possíveis de Falhas Situação 1: Coordenador esperando voto de um ou mais participantes Se voto não chegar dentro de um certo intervalo de tempo (timeout), coordenador aborta a transação Deve enviar antes mensagem doabort para todos os participantes

21 24 2PC: Situações Possíveis de Falhas Situação 2: Coordenador esperando ACK de participante Se ACK não chegar dentro de um certo intervalo de tempo (timeout), deve reenviar mensagem docommit ou doabort e então voltar a esperar um ACK. Veja que, neste caso, coordenador permanece bloqueado, esperando ACK.

22 25 2PC: Situações Possíveis de Falhas Situação 3: Participante que votou Sim e que encontrase esperando docommit ou doabort Não pode tomar uma decisão unilateral (exemplo: reverter seu voto para Não) Deve permanecer bloqueado, aguardando resultado da transação Logo, falhas têm os seguintes efeitos sobre o Protocolo 2PC Podem requerer retransmissão de mensagens Podem dar origem a bloqueios

23 Uma variante descentralizada do 2PC 26 Os participantes se comunicam diretamente uns com os outros, em vez de indiretamente por meio do coordenador. Na fase 1, o coordenador envia seu voto para todos os participantes. Na fase 2, se o voto do coordenador for Não, os participantes apenas cancelam a transação; se for Sim, cada participante envia seu voto para o coordenador e para os outros participantes, cada um dos quais decide sobre o resultado, de acordo com o voto, e o executa. 1. Calcule o número de mensagens e o número de rodadas necessárias para isso. 2. Quais são as vantagens ou desvantagens, em comparação com a variante centralizada?

24 Uma variante descentralizada do 2PC 27 Número de mensagens: Fase 1: Coordenador envia seu voto para N participantes = N Fase 2: cad N participante envia seu voto para os outros (N 1) participantes + coordenador = N*(N 1). Total = N*N. No. rodadas: Cada participante + coordenador = 2 rodadas. Vantagens:O número de rodadas é menor. Desvantagem: A quantidade de mensagens N*N ao invés de 3N

25 28 2PC: Implementações SGBD com suporte a distribuição de dados: Exemplos: Oracle, Microsoft SQL Server, IBM DB2 etc Monitores de Transação: Componente essencial em um sistema/cliente servidor de 3 camadas que necessita acessar diversos BD Principais tarefas: Garantir atomicidade de transações distribuídas (geralmente via 2PC) Multiplexar carga de acesso a um SGBD Exemplos: Microsoft Transaction Server (MTS), BEA Tuxedo, IBM Encina, Java Transaction Server etc

26 Microsoft Transaction Server (MTS) 29 M ic r o s o f t T r an s ac tio n S er v er C lien te Ap lic ação T er m in ais T elef ô n ic o s C lien te Ap lic ação C lien te Ap lic ação C lien tes D is tr ib u ted T r an s ac tio n C o o r d in ato r Aplicações: objetos DCOM (objetos cujos métodos podem ser chamados remotamente a partir de clientes) Exemplo de aplicação: Cadastrar um novo cliente em uma empresa de telecomunicações (envolve inserções em dois bancos de dados: terminais telefônicos e clientes)

27 Padrões para Transações Distribuídas 30 Objetivo: padronizar serviços de transações distribuídas, de forma a permitir interoperabilidade entre: Aplicação e Monitor de Transação Monitor de Transação e SGBD Principal padrão: Distributed Transaction Processing (DTP) Proposto pelo consórcio X/Open

28 31 Interfaces do Padrão DTP Interface TX: padroniza interface entre aplicação e monitor de transação Principais funções: tx_begin, tx_commit, tx_rollback, tx_open, tx_close etc Suportada pelos principais monitores de transação, a exceção do MTS Interface XA: padroniza interface de comunicação entre monitor de transação e SGBD (gerenciador de recursos) Principais funções: xa_prepare, xa_commit etc (mensagens trocadas no protocolo 2PC) Suportada pelos principais monitores de transação (inclusive MTS) e pelos principais SGBDs.

29 Controle de Concorrência em transações Distribuídas 32 Travamento Ordenação por carimbo de tempo Controle de concorrência otimista

30 Controle de Concorrência em transações Distribuídas 33 Travamento

31 Controle de Concorrência em transações Distribuídas 34 Travamento

32 Controle de Concorrência em transações Distribuídas 35 Ordenação por carimbo de tempo Coordenador publica um timestamp para cada transação Timestamp deve ser globalmente exclusivo Servidores garantem que cada transação é executada sequencialmente

33 Controle de Concorrência em transações Distribuídas 36 Ordenação por carimbo de tempo Transação T e U acessam um mesmo objeto U Acessa o objeto após T Usando Timestamp <timestamp, id_servidor> Servidores confirmaram nesta ordem Exige certa sincronização de relógios

34 Controle de Concorrência em transações Distribuídas 37 Controle de concorrência otimista Cada transação é validada antes de ser confirmada Cada transação tem um identificador As transações são executadas nesta ordem

35 Controle de Concorrência em transações Distribuídas 38 Controle de concorrência otimista Cada transação é validada antes de ser confirmada Cada transação tem um identificador As transações são executadas nesta ordem Problema Pode levar a um impasse quando quando dois servidores começarem transações simultaneamente

36 Controle de Concorrência em transações Distribuídas 39 Controle de concorrência otimista Nenhum servidor poderá confirmar, porque um está esperando a confirmação do outro

37 40 Deadlocks (impasses) distribuídos Um deadlock ou impasse pode ocorrer porque as transações esperam uma pela outra Uma transação está em deadlock se está bloqueada e permanecerá assim até que ocorra uma intervenção externa Algoritmos de CC baseados em bloqueio podem resultar em impasses Algoritmos de ordenação de timestamp que exigem a espera de transações também podem causar impasses

38 41 Deadlocks (impasses) distribuídos Grafo de espera (Wait for graph WFG) Existe um arco Ti Tj no WFG se a transação Ti estiver esperando que outra transação Tj libere um bloqueio sobre alguma entidade. Há um impasse se há ciclo no grafo

39 42 Deadlocks (impasses) distribuídos Travamento d.deposit(10) U V W lock D b.deposit(10) lock B a.deposit(20) lock A at Y at X b.withdraw(30) wait at Y c.withdraw(20) wait at Z c.deposit(30) lock C at Z a.withdraw(20) wait at X

40 43 Deadlocks (impasses) distribuídos Mantido por W Espera por C D A Mantido por Z X Espera por V Mantido por U Mantido por B Espera por Y

41 44 Deadlocks (impasses) distribuídos Mantido por W Espera por Formação do ciclo C D A Mantido por W Z X Espera por V Mantido por U V Mantido por B Espera por U Y

42 45 Exercício Construa o grafo de espera por das transações abaixo. Está ocorrendo um impasse?

43 46 Detecção de impasses Ignorar Deixe que o programador da aplicação lide com ele, ou re inicie o sistema Prevenção Garantir que os impasses nunca ocorram. Gerenciador de transações verifica uma transação quando ela é iniciada e não permite que elaprossiga se houver possibilidade de impasse. Não exigem suporte em tempo de execução. Não adequada p/ SGBD Anulação Detectam situações potenciais de impasse com antecedência e asseguram que eles não ocorrerão (ordem pré definida, timestamp). Exigem suporte em tempo de execução. Detecção e Recuperação (mais usual) Permitem que impasses ocorram, detectam nos monitorando formação de ciclos no WFG e rompendo os. Exigem suporte em tempo de execução

44 47 Detecção de impasse centralizada Servidor assume papel detector de impasse global Cada servidor envia seu grafo de espera local Grafo de espera local Grafo de espera local Detector de impasse global T U V T T X Y U V

45 48 Detecção de impasse centralizada Por que a solução centralizada não é uma boa idéia?

46 49 Detecção de impasse centralizada Por que a solução centralizada não é uma boa idéia? Falta de tolerância a falhas Escalabilidade Como decidir a frequência de construção do grafo? Se frequente, Custo para enviar grafo de espera local pode ser alto Senão, pode demorar para detectar um impasse

47 50 Problema do impasse fantasma Detecta um impasse que não é impasse

48 51 Problema do impasse fantasma Detecta um impasse que não é impasse T U V T X Y Considere a seguinte mudança: U Libera objeto em X U Solicita objeto mantido em V servidor Y

49 52 Problema do impasse fantasma Detecta um impasse que não é impasse T U V T T X Y U V Considere a seguinte mudança: U Libera objeto em X U Solicita objeto mantido em V servidor Y

50 53 Detecção de impasse distribuído Caminhamento pelas arestas (Edge Chasing) Servidores têm conhecimento de algumas arestas Tentam encontrar ciclos encaminhando mensagens de sondagem Mensagem representa relacionamentos espera por da transação

51 54 Caminhamento pelas arestas Algoritmo em três etapas Início: servidor nota que uma transação T começa a esperar por outra transação U Envia uma mensagem de sondagem contendo a aresta <T U> para o servidor do objeto em que a transação U está parada Detecção consiste no recebimento de mensagens de sondagem e em decidir se o impasse ocorreu e se as mensagens de sondagens devem ser encaminhadas. Solução quando um ciclo é detectado, uma transação do ciclo é cancelada para desfazer o impasse

52 55 Caminhamento pelas arestas C Z Mantido por W Espera por A X Mantido por O servidor X inicia a detecção, enviando a mensagem de sondagem <W U> para o servidor de B (servidor Y). Espera por V U Mantido por B Espera por Y

53 56 Caminhamento pelas arestas C Z Mantido por W Espera por A X Mantido por O servidor X inicia a detecção, enviando a mensagem de sondagem <W U> para o servidor de B (servidor Y). Espera por V U Mantido por B Espera por Y

54 57 Caminhamento pelas arestas C Mantido por W Espera por A O servidor Y recebe a mensagem de sondagem <W U>, nota que B é mantido por V e anexa V na mensagem de sondagem para produzir <W U V>. Z Espera por V Mantido por B X Espera por Mantido por U Ele nota que V está esperando por C no servidor Z. mensagem de sondagem é encaminhada para o servidor Z. Y

55 58 Caminhamento pelas arestas C Mantido por W Espera por A O servidor Y recebe a mensagem de sondagem <W U>, nota que B é mantido por V e anexa V na mensagem de sondagem para produzir <W U V>. Z Espera por V Mantido por B X Espera por Mantido por U Ele nota que V está esperando por C no servidor Z. mensagem de sondagem é encaminhada para o servidor Z. Y

56 59 Caminhamento pelas arestas Mantido por W Espera por O servidor Z recebe a mensagem de sondagem <W U V>, C Z Espera por V Mantido por B A X Espera por Mantido por U nota que C é mantido por W e anexa W na mensagem de sondagem <W U V W>. Y

57 60 Caminhamento pelas arestas C Z Espera por Mantido por Impasse detectado V W Mantido por Espera por B A X Espera por Mantido por U O servidor Z recebe a mensagem de sondagem <W U V>, nota que C é mantido por W e anexa W na mensagem de sondagem <W U V W> Ciclo detectado. Y

58 61 Caminhamento pelas arestas Antes que um servidor transmita uma mensagem de sondagem para outro servidor, ele consulta o coordenador da última transação no caminho para descobrir se ela está esperando por outro objeto de alguma parte O algoritmo deve encontrar qualquer ocorrência de impasse desde que as transações que estão esperando não sejam canceladas não existam falhas como mensagens perdidas ou servidores falhando.

59 62 Caminhamento pelas arestas Antes que um servidor transmita uma mensagem de sondagem para outro servidor, ele consulta o coordenador da última transação no caminho para descobrir se ela está esperando por outro objeto de alguma parte O algoritmo deve encontrar qualquer ocorrência de impasse desde que as transações que estão esperando não sejam canceladas não existam falhas como mensagens perdidas ou servidores falhando

60 63 Caminhamento pelas arestas Uma mensagem de sondagem que detecta um ciclo envolvendo N transações será encaminhada por (N 1) coordenadores de transação por intermédio de (N 1) servidores de objetos, Logo, exigindo 2(N 1) mensagens. A maioria dos impasses envolve ciclos contendo apenas duas transações não há necessidade de preocupação excessiva com o número de mensagens envolvidas.

61 64 Prioridades de transação Se dois servidores começam a detecção de impasse simultaneamente Mais de uma transação pode ser cancelada

62 65 Prioridades de transação Se dois servidores começam a detecção de impasse simultaneamente Mais de uma transação pode ser cancelada (a) Situação inicial (b) Detecção iniciada por T (c) Detecção iniciada por W Espera por V W T Espera por U V U T U W V T U W Espera por T W T U W V T V W V T W V T U W U Espera por

63 66 Prioridades de transação Prover prioridade para transações T > U > V > W Ao detectar ciclo, W é cancelada (a) Situação inicial (b) Detecção iniciada por T (c) Detecção iniciada por W Espera por V W T Espera por U V U T U W V T U W Espera por T W T U W V T V W V T W V T U W U Espera por

64 67 Reforçando Supondo que esteja em uso o travamento de duas fases restrito, descreva como as ações do protocolo de confirmação de duas fases se relaciona com as ações de controle de concorrência de cada servidor individual. Como a detecção de impasse distribuído se encaixa nisso?

65 68 Reforçando Dado o conjunto de Transações abaixo ordene utilizando travamento em duas fases Desenhe o grafo de espera por da sua solução U leia(a) escreva(a) V escreva(a) escreva(b) escreva(c) W leia(a) leia(b) leia(c)

66 69 Questões Transações Distribuídas Vinícius Fernandes Soares Mota

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

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

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

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

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Deadlocks Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.5 pág. 340-344 2 Conteúdo Detecção de deadlock distribuído Detecção centralizada

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

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

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

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

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

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

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

Transacções em Sistemas Distribuídos

Transacções em Sistemas Distribuídos 1 Transacções em Sistemas Distribuídos Exemplo O Senhor Silva é possuidor de duas contas em bancos diferentes (A e B) e pretende fazer um movimento de 100 E do banco A para o banco B. O procedimento para

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

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

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

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

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

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

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

Técnicas de Controle de Concorrência

Técnicas de Controle de Concorrência Técnicas de Controle de Concorrência Principais Técnicas bloqueio (locking) timestamp Técnicas Baseadas em Bloqueio Técnicas mais utilizadas pelos SGBDs Princípio de funcionamento controle de operações

Leia mais

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle Conceitos e Propriedades Recuperação Transacções no SGBD Oracle Conceitos Transacção Uma acção ou um conjunto de acções, realizadas por um único utilizador ou programa de aplicação que acedem ou alteram

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

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

Roteiro. Noções de Controle de Concorrência. BCC321 - Banco de Dados I. Ementa. Finalidade do Controle de Concorrência.

Roteiro. Noções de Controle de Concorrência. BCC321 - Banco de Dados I. Ementa. Finalidade do Controle de Concorrência. Roteiro Noções de Controle de Concorrência Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Posicionamento

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

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

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

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock)

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock) Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando um evento que somente outro processo do conjunto pode

Leia mais

Controle de Concorrência

Controle de Concorrência Controle de Concorrência Protocolos de Bloqueio Protocolo com base em Timestamps Protocolos Multi-versão Inserção e Remoção de Dados Controle de Concorrência Controle de concorrência é usado para garantir

Leia mais

Controle de Concorrência

Controle de Concorrência Banco de Dados Fernando Fonseca Ana Carolina Definição Concorrência é a propriedade de uma transação poder ser executada em paralelo com outras transações Justificativa de uso Com a execução de várias

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

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

Sistemas Distribuídos Exclusão Mútua. Edeyson Andrade Gomes

Sistemas Distribuídos Exclusão Mútua. Edeyson Andrade Gomes Sistemas Distribuídos Exclusão Mútua Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Introdução Coordenação e Acordo Suposição de Falhas Exclusão Mútua Algoritmos Centralizado Distribuído Anel

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.

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

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

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

Sistemas Distribuídos Capítulo 8 - Aula 14

Sistemas Distribuídos Capítulo 8 - Aula 14 Sistemas Distribuídos Capítulo 8 - Aula 14 Aula Passada Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo Aula de hoje Comunicação Confiável Cliente-Servidor Comunicação

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

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

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

Relógio Lógico Algoritmo de Lamport. Relógio Lógico Algoritmo de Lamport. Relógio Físico Algoritmo Centralizado. Relógio Físico Algoritmo Centralizado

Relógio Lógico Algoritmo de Lamport. Relógio Lógico Algoritmo de Lamport. Relógio Físico Algoritmo Centralizado. Relógio Físico Algoritmo Centralizado Relógio Lógico Algoritmo de Lamport Objetivo: Sincronização de clocks lógicos Os tempos associados aos eventos não são necessariamente próximos ao tempo real. Os processos não precisam estar de acordo

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

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

INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco

INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco 1. Um servidor acessa as variáveis i e j. O servidor oferece duas operações para seus clientes: read(i) retorna o valor de i

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

Bancos de Dados Distribuídos. Lucas Henrique Samuel Queiroz

Bancos de Dados Distribuídos. Lucas Henrique Samuel Queiroz Bancos de Dados Distribuídos Lucas Henrique Samuel Queiroz O que é Uma coleção de nós interconectados via rede. Cada nó da rede possui um banco de dados local. Em conjunto atuam como um único sistema de

Leia mais

Formação de DBAs SQL Server 2008

Formação de DBAs SQL Server 2008 Formação de DBAs SQL Server 2008 Parte 8: Banco de Dados Distribuído Computação Distribuída Um grupo de elementos autônomos de processamento (não necessariamente homogêneos) que estão interconectados por

Leia mais

Parte 1 Processos e Threads (20%)

Parte 1 Processos e Threads (20%) INE 5645 Programação Paralela e Distribuída 2012.1 Turma 0238B Prof. Bosco Nome: Bosco-Soluções Matrícula: Parte 1 Processos e Threads (20%) 1.1 (Verdade/Falso) Diferença entre programa e processo. (2%)

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

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

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo

Leia mais

Sistemas Operacionais. DeadLock. Edeyson Andrade Gomes.

Sistemas Operacionais. DeadLock. Edeyson Andrade Gomes. Sistemas Operacionais DeadLock Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula DeadLock Metas Algoritmos 2 DeadLock Um estado de deadlock ocorre quando dois ou mais processos estão esperando por

Leia mais

Sistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal

Sistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal Sistemas Operacionais Aula 09: Deadlocks / Impasses Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Desenvolver uma descrição de deadlocks, que impedem que grupos de processos simultâneos

Leia mais

SISTEMAS DISTRIBUÍDOS E TOLERÂNCIA A FALHAS MESTRADO DE ENGENHARIA INFORMÁTICA 2013/2014 DOCENTE: PROF. DRª. PAULA PRATA

SISTEMAS DISTRIBUÍDOS E TOLERÂNCIA A FALHAS MESTRADO DE ENGENHARIA INFORMÁTICA 2013/2014 DOCENTE: PROF. DRª. PAULA PRATA SISTEMAS DISTRIBUÍDOS E TOLERÂNCIA A FALHAS MESTRADO DE ENGENHARIA INFORMÁTICA 2013/2014 DOCENTE: PROF. DRª. PAULA PRATA A DISTRIBUTED PROTOCOL FOR ENSURING REPLICATED DATABASE CONSISTENCY IN MOBILE COMPUTING

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

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

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

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

ALGORITMOS DISTRIBUÍDOS Deadlock

ALGORITMOS DISTRIBUÍDOS Deadlock ALGORITMOS DISTRIBUÍDOS Deadlock Sistemas Distribuídos 231 Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando

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

Técnicas de Controle de Concorrência

Técnicas de Controle de Concorrência Técnicas de Controle de Concorrência Pessimistas supõem que sempre ocorre interferência entre transações e garantem a serializabilidade enquanto a transação está ativa técnicas bloqueio (locking) timestamp

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Programação Concorrente Impasses Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Princípios de Deadlock Técnicas de solução do problema Prevenir a ocorrência

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

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

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

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado Definição de Banco de Dados De uma forma genérica, um banco de dados é definido como uma coleção de dados relacionados. Os dados são

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar - Aula 3-1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS Na segunda parte abordamos o tema tolerância a falhas, assunto este muito relacionado a redes de computadores, mas que nos mostra

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

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

Sistemas Distribuídos Capítulo 8 - Aula 13

Sistemas Distribuídos Capítulo 8 - Aula 13 Sistemas Distribuídos Capítulo 8 - Aula 13 Aula de hoje Aula Passada Exclusão Mútua Algoritmos de Eleição Tolerância a Falhas Conceitos básicos Modelos de falha Redundância Resiliência de Processo 1 Tolerância

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

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

Aula 9. Deadlocks. Caracterização Grafo de dependência Métodos de tratamento Detecção Recuperação. Universidade Federal de Minas Gerais

Aula 9. Deadlocks. Caracterização Grafo de dependência Métodos de tratamento Detecção Recuperação. Universidade Federal de Minas Gerais Aula 9 Deadlocks 1.1 1.2 1.3 1.4 1.5 1.6 O que é Caracterização Grafo de dependência Métodos de tratamento Detecção Recuperação O quê é Deadlock (1) Propriedade indesejável de um conjunto de processos

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Recuperação Capítulo 8 Agenda Introdução Pontos de Verificação Registro de Mensagens Introdução Essência: Quando ocorre uma falha no sistema, é

Leia mais

Técnicas de Controle de Concorrência. Laboratório de Bancos de Dados

Técnicas de Controle de Concorrência. Laboratório de Bancos de Dados Técnicas de Controle de Concorrência Laboratório de Bancos de Dados João Eduardo Ferreira e José Alcazar Elmasri,, R.; Navathe,, S. B. Sistemas de Banco de Dados, 4ed. Pearson Addison Wesley,, 2005 (Caps.(

Leia mais

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua Sincronização Roteiro Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua Introdução A comunicação entre processos é importante, mas não é só isso que importa; Uma

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

Sistemas Distribuídos Capítulo 8 - Aula 15

Sistemas Distribuídos Capítulo 8 - Aula 15 Sistemas Distribuídos Capítulo 8 - Aula 15 Aula de hoje Aula Passada Comunicação Confiável Cliente-Servidor Comunicação Confiável de Grupo Comunicação Confiável de Grupo Multicast Atômico Sincronia Virtual

Leia mais

Curso: Banco de Dados I. Conceitos Iniciais

Curso: Banco de Dados I. Conceitos Iniciais Curso: Conceitos Iniciais Discussão inicial O que são Bancos de Dados? Quais os programas de Bancos de Dados mais conhecidos no mercado? Quais as vantagens do uso de Bancos de Dados nas empresas? Como

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência Causal(3) Neste exemplo temos uma sequência de eventos permitida quando o depósito é consistente por causalidade, mas proibida quando

Leia mais

Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua. Algoritmos Distribuídos (exclusão mútua)

Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua. Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua Problema: alguns recursos não podem ser usados simultaneamente por diversos processos (ex.: arquivos) Exclusividade de acesso deve ser garantida pelo sistema esta

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

Deadlock. Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education

Deadlock. Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education Deadlock Um problema de concorrência Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education 1 Interação entre Processos Processos que executam em paralelo podem trocar informações

Leia mais

Aula 04. Evandro Deliberal

Aula 04. Evandro Deliberal Aula 04 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal O que é Replicação repetir ou repetir-se por produção ou multiplicação = reproduzir Definição Mecanismo que

Leia mais

Tolerância a Falhas. Reliable Broadcast e Atomic Commitment. June 2, 2010

Tolerância a Falhas. Reliable Broadcast e Atomic Commitment. June 2, 2010 Tolerância a Falhas Reliable Broadcast e Atomic Commitment June 2, 2010 Sumário Difusão/Multicast Fiável Multicast Fiável em Grupos Dinâmicos Multicast: Aplicação à Replicação Atomic Commitment Two-phase

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

Sistemas Distribuídos

Sistemas Distribuídos Comunicação em Grupo Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 10.4 pág. 304-311 2 Comunicação em Grupo Suponha que se deseja um serviço de arquivos único

Leia mais

LEIC/LERC 2010/11 2º Teste de Sistemas Distribuídos

LEIC/LERC 2010/11 2º Teste de Sistemas Distribuídos Número: Nome: LEIC/LERC 2010/11 2º Teste de Sistemas Distribuídos 6 de Junho de 2011 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo I [6v] Considere

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 5 - Controle de Concorrência 5.2 - Métodos baseados em Bloqueio 1 Protocolo simples de bloqueio: Definição: transação bloqueia objeto, na modalidade correta, antes

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