Transacções Atómicas Distribuídas

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

Download "Transacções Atómicas Distribuídas"

Transcrição

1 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 $00 do banco A para o banco B. O procedimento para fazer esta transferência pode ser o seguinte: transferencia (bancoa, bancob, Valor) { LerSaldo (bancoa, SaldoA); /* obtendo $00 */ LerSaldo (bancob, SaldoB); /* obtendo $00 */ ActualizarSaldo (bancoa, saldoa-valor); ActualizarSaldo (bancob, saldob+valor); }

2 Transacção Atómica transferencia (bancoa, bancob, Valor) { begin_transaction; LerSaldo (bancoa, SaldoA); LerSaldo (bancob, SaldoB); ActualizarSaldo (bancoa, saldoa-valor); ActualizarSaldo (bancob, saldob+valor); commit; } Transacção Atómica transferência (bancoa, bancob, Valor) { begin_transaction; LerSaldo (bancoa, SaldoA); LerSaldo (bancob, SaldoB); if (Valor > SaldoA) abort else { ActualizarSaldo (bancoa, saldoa-valor); ActualizarSaldo (bancob, saldob+valor); commit; } } Outras razões para transacção abortar?

3 Sistema Transaccional Aplicações Iniciar Confirmar Abortar Aplicações Ler Escrever Sistema Transaccional Sistema Operativo Hardware Propriedades das transacções ACID (Revisão da cadeira de BD) Atomicidade Transacção ou se executa na totalidade ou não se executa. Consistência Transacção deve manter invariantes associados à aplicação (transita de estado consistente para outro estado consistente)

4 Propriedades das transacções - ACID Seriabilidade (Isolation) se diversas transacções se executarem em paralelo sobre os mesmos objectos, tudo se passa como se as transacções se executassem em série numa determinada ordem. Persistência (Durability) os resultados de uma transacção que confirmou permanecem depois de esta acabar e sobrevivem ao conjunto de faltas expectáveis Atomic, Consistent, Isolated, Durable Assegurar propriedades ACID numa transacção distribuída?

5 Transacções distribuídas: Arquitectura distribuída Consórcio X/OPEN: Esforço de normalização dos protocolos e interfaces para interligação de sistemas de informação heterogéneos DTP (Distributed Transaction Processing) Muito influenciado pela norma de facto que constituiu a arquitectura SNA da IBM e a sua interface LU 6.2 Arquitectura X/Open: Gestores de Recursos - RM (resource manager) Armazenam os dados Em BDs relacionais, sistemas de ficheiros com actualizações atómicas, etc. Garantem localmente as propriedades das transacções Monitores Transaccionais - TM (transaction managers) Coordenadores dos RM Através da interface XA Execução dos protocolos de iniciação/terminação das transacções Um em cada máquina (ou em cada grupo de máquinas) Transacções distribuídas X/Open Aplicação Iniciar Confirmar Abortar TM Associar Preparar Confirmar Abortar Ler Escrever RM

6 Transacções distribuídas: X/Open (com distribuição) TM TM Aplicação SC SC RM RM Transacções distribuídas: X/Open Uma aplicação inicia uma transacção distribuída Invoca um Coordenador que lhe atribui um identificador único A aplicação contacta em seguida os RMs Para efectuar as operações de leitura e escrita Usa o identificador da transacção Os RMs associam-se à transacção Quando um RM recebe a primeira operação relacionada com uma transacção desconhecida contacta o coordenador para se associar à transacção A transacção termina Todos os TM envolvidos executam um protocolo de consenso distribuído (e.g. 2 Phase Commit, 3 Phase Commit, etc)

7 Hipótese: Protocolo One Phase Commit (1PC) Coordenador conhece a lista de participantes que se associaram à transacção Quando cliente lhe pede para confirmar a transacção, coordenador envia docommit a todos os participantes Pedido docommit leva id da transacção distribuída Cada um deles confirma a transacção local Que estava activa até esse momento Porque é que não funciona? Razões para o 1PC ser incorrecto Em TMs que usam controlo de concorrência optimista, por definição, podem falhar no docommit Atomicidade violada se alguns confirmassem e outros não o conseguissem Mesmo em TMs com controlo de concorrência pessimista o commit pode falhar Deadlocks podem levar a abortar transacções que tinham obtido todos os locks com sucesso Falhas de TMs É necessário haver, pelo menos 2 fases no protocolo

8 Protocolo de confirmação em duas fases (Two-Phase Commit, 2PC) Especificação do Problema da Confirmação Atómica n processos, identificados por i {1,, n} Processo máquina Modelo assíncrono Input do processo i: voto i {sim, não} Output do processo i: decisão i {commit, abort}

9 Especificação do Problema CA1: Todos os processos tomam a mesma decisão CA2: A decisão só pode ser commit se todos os votos forem sim CA3: Se todos os votos forem sim e não houver falhas nos processos, a decisão é commit CA4: Se todos processos recuperarem das suas falhas, e não ocorrerem mais falhas, então todos os processos eventualmente tomam uma decisão Coordenador Envia cancommit? a todos Protocolo (sem falhas) if (todos votaram yes) decisão coord = commit Envia docommit a todos else decisão coord = abort Envia doabort a todos que votaram yes exit Participante i Envia voto i (yes/no) ao coord. if (voto i == no) decisão i = abort exit if (recebe ABORT) decisão i = abort responde haveaborted else decisão i = commit responde havecommitted Exit

10 2PC e a propriedade Isolamento Na ausência de falhas, 2PC garante Atomicidade E então o Isolamento? Se TMs usarem locking? Automaticamente garantido, mas podem ocorrer deadlocks distribuídos (mais difíceis de resolver que locais) Se TMs usarem timestamps? Necessário timestamps globais (p.ex. <IP coordenador, timestamp local>) Se TMs usarem esquema optimista? Validação é feita após cancommit. Se tiver sucesso, é preciso garantir que terá também sucesso no docommit. Como? Trancar objectos acedidos. 2PC com suporte a falhas Protocolo do Coordenador inicial temporizador expirou Input: - Output: Envia cancommit? a todos Input: Recebe um ou mais No Ou temporizador expira Output: Envia doabort a todos abort espera Input: Recebe Yes de todos Output: Envia docommit a todos commit

11 2PC com suporte a falhas Protocolo do Participante Input: (Recebe cancommit? e voto i == No) Ou temporizador expira Output: Envia No ao coord. inicial uncertain temporizador expirou Input: Recebe cancommit? e voto i == Yes Output: Envia Yes ao coordenador Executar protocolo de terminação abort Input: Recebe doabort Input: Recebe docommit commit Protocolo de Terminação Se o temporizador expirar no participante após votar sim, envia PEDIDO_DECISÃO a todos participantes Restantes participantes respondem com: decisão i se já decidiram doabort se estiverem no estado inicial uncertain se estiverem no estado espera Se algum participante responder docommit ou doabort, essa é a decisão final do participante Caso todos respondam uncertain esperar que coordenador recupere 3PC evita espera no caso de falha do coordenador

12 Protocolo de Recuperação Assume um diário (log) persistente com escritas atómicas (no caso de falhas) Evento Coord. envia PREPARAR Participante vota sim Participante vota não Coord. decide commit Coord. decide abort Particip. recebe decisão Info. escrita no log Coordinator Prepared Participant Uncertain Participant Aborted Coordinator Committed Coordinator Aborted Part. Commited ou Aborted Cada entrada exprime uma intenção, que deve ser escrita no diário antes de se passar à acção Em alguns casos, podemos optimizar e passar à acção em paralelo com a escrita no diário. Quais casos? Protocolo de Recuperação Assume um diário (log) persistente com escritas atómicas (no caso de falhas) Evento Info. escrita no log Instante da escrita Coord. envia PREPARAR Coordinator Prepared Em paralelo com envio Participante vota sim Participant Uncertain Antes de enviar voto Participante vota não Participant Aborted Em paralelo com envio Coord. decide commit Coordinator Committed Antes de enviar commit Coord. decide abort Coordinator Aborted Em paralelo com envio Particip. recebe decisão Part. Commited ou Aborted Em paralelo com decisão

13 Protocolo de Recuperação Após recuperar, processo inspecciona o diário Se era coordenador: Se estava prepared, nenhuma decisão tinha sido tomada, logo aborta Se estava committed/aborted, re-envia docommit a todos os participantes Caso contrário era participante: Se estava committed, envia confirmação havecommitted para o coordenados Se não existir registo que votou Yes, decide abort Caso contrário (estava uncertain), corre protocolo de terminação. Desempenho do 2PC Sem falhas, após 3N mensagens todos os participantes confirmaram as suas transacções locais Com falhas: Mensagens re-enviadastransacção abortada Participantes à espera que coordenador em falta recupere para decidirem Coordenador à espera que participante em falta recupere para limpar transacção do seu diário Em que casos pode ocorrer cada situação?

14 Variantes do 2PC Várias variantes do 2PC foram propostas (algumas que assumem um modelo síncrono ou outros pressupostos) Outra é o Three phase commit Protocolo com 3 fases Quando coordenador falha, participantes tentam eleger novo coordenador Casos em falha do coordenador obriga os participantes a bloquearem sem poderem decidir são muito menos prováveis

Tecnologia de Sistemas Distribuídos Capítulo 7: Transacções

Tecnologia de Sistemas Distribuídos Capítulo 7: Transacções Tecnologia de Sistemas Distribuídos Capítulo 7: Transacções Paulo Ferreira Paulo. Ferreira@inesc.pt Alves Marques jam@inesc.pt INESC/IST 1 Objectivos garantir que aplicações que manipulam estruturas de

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

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

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

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

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

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

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1

Exclusão Mútua Distribuída. Algoritmos para eleição de um coordenador ou líder. UBI, DI, Paula Prata SDTF T04 1 Exclusão Mútua Distribuída Algoritmos para eleição de um coordenador ou líder 1 Suponhamos N processos, pi, i=1,2,,n que não partilham variáveis, mas que partilham algum recurso partilhado ao qual devem

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

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

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

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

Tolerância a Falhas. June 2, 2010

Tolerância a Falhas. June 2, 2010 Tolerância a Falhas June 2, 2010 Sumário Introdução e Terminologia Modelos Redundância Grupos de Processos Leitura Adicional Sumário Introdução e Terminologia Modelos Redundância Grupos de Processos Leitura

Leia mais

Tipos de Sistemas Distribuídas

Tipos de Sistemas Distribuídas Tipos de Sistemas Distribuídas Alysson Neves Bessani Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Tipos de Sistemas Distribuídos Existem três tipos de sistemas distribuídos:

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

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

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

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

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

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

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

Bases de Dados 2013/2014 Gestão de Recuperação. Helena Galhardas. Sumário

Bases de Dados 2013/2014 Gestão de Recuperação. Helena Galhardas. Sumário Bases de Dados 2013/2014 Gestão de Recuperação Helena Galhardas Sumário Classificação de Falhas Estrutura de Armazenamento Recuperação e Atomicidade Recuperação Baseada em Diário O Algoritmo do Sistema

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

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

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

Consistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por:

Consistência. ncia. Sistemas Distribuídos e Tolerância a Falhas. Trabalho realizado por: Sistemas Distribuídos e Tolerâ a Falhas Consistê Trabalho realizado por: Gonçalo Dias, Nº. 14638 João Tavares, Nº 14888 Rui Brás, Nº 14820 Consistê Índice Consistent Global States; Distributed Consensus;

Leia mais

LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos

LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos Número: Nome: LEIC/LERC 2008/09 Repescagem do 2º Teste de Sistemas Distribuídos 25 de Julho de 2008 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo

Leia mais

Boas Práticas de Programação Concorrente

Boas Práticas de Programação Concorrente Boas Práticas de Programação Concorrente Evitando surpresas inconvenientes Ronny Moura Súmario Principais problemas da programação concorrente e os mecanismos Java para resolvê-los. Race condition(synchronized,

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

Replicação de servidores

Replicação de servidores Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Replicação de servidores Replicação: que benefícios nos dá? 1) Melhor desempenho e escalabilidade Replicar serviços permite que algumas operações

Leia mais

Bases de Dados. Parte I: Conceitos Básicos

Bases de Dados. Parte I: Conceitos Básicos Bases de Dados Parte I Conceitos Básicos 1 Definições Básicas! Base de dados (BD): conjunto de dados que se relacionam entre si.! Dados: factos conhecidos que têm algum significado e que podem ser guardados.!

Leia mais

Um sistema de difusão de informação a nível da aplicação

Um sistema de difusão de informação a nível da aplicação Um sistema de difusão de informação a nível da aplicação Projecto de Redes de Computadores I - 2008/2009 LEIC IST, Tagus Park 21 de Setembro de 2008 1. Sumário O projecto pretende desenvolver um sistema

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

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

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

1. Monitorização. Índice. 1.1 Principais pontos críticos

1. Monitorização. Índice. 1.1 Principais pontos críticos Monitorização e Gestão do Servidor de Email ------------------------------------------------------------------------------------------------------------------------ Índice 1. Monitorização...1 1.1 Principais

Leia mais

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Rede de computadores Cliente- servidor. Professor Carlos Muniz Rede de computadores Professor Carlos Muniz Definição Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores.

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

Grupo I [8v] b. [0,8v] Apresente o pseudo-código do algoritmo que U executa para validar a assinatura que recebe.

Grupo I [8v] b. [0,8v] Apresente o pseudo-código do algoritmo que U executa para validar a assinatura que recebe. Número: Nome: Página 1 de 6 LEIC/LETI 2013/14, 2º Teste de Sistemas Distribuídos, 17 de Junho de 2014 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo

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

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

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Replicação de Servidores Transacções Atómicas Protocolos de Replicação Replicação passiva vs. activa Replicação de máquinas de estados vs. Replicação

Leia mais

1. Monitorização. Índice. 1.1 Principais pontos críticos Pontos críticos directos

1. Monitorização. Índice. 1.1 Principais pontos críticos Pontos críticos directos Monitorização e Gestão do Servidor de Email ------------------------------------------------------------------------------------------------------------------------ Índice 1. Monitorização...1 1.1 Principais

Leia mais

Departamento de Informática

Departamento de Informática Departamento de Informática Licenciatura em Engenharia Informática Sistemas Distribuídos 1ª chamada, 19 de Janeiro de 2011 1º Semestre, 2011/2012 NOTAS: Leia com atenção cada questão antes de responder.

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

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos.

Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. 1. Introdução aos Sistemas de Bases de Dados Uma Base de Dados é uma colecção de dados partilhados, interrelacionados e usados para múltiplos objectivos. O conceito de base de dados faz hoje parte do nosso

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

Segurança em Sistemas Operativos

Segurança em Sistemas Operativos Segurança em Sistemas Operativos André Zúquete Segurança Informática e nas Organizações 1 Sistema Operativo Servidor Aplicação modo utilizador: Execução no modo normal do CPU, sem acesso a instruções privilegiadas

Leia mais

Monitorização do Servidor de

Monitorização do Servidor de Monitorização do Servidor de Email Neste documento pretende-se descrever os principais pontos críticos do funcionamento dos servidores de email. Esta análise é feita sobre o modelo de servidor de email

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

Coordenaçãoe consenso

Coordenaçãoe consenso Sistemas Distribuídos Coordenaçãoe consenso Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Fundamentos Coordenando processos Construíndo sistemas Sistemas construídos 2 Fundamentos Coordenando

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 Operativos. Luís Paulo Reis. Sistemas Operativos. Sumário

Sistemas Operativos. Luís Paulo Reis. Sistemas Operativos. Sumário Sistemas Operativos Luís Paulo Reis Slide Nº 1 Sistemas Operativos Sumário O que é um Sistema Operativo (SO)? Modelo em Camadas de um SO Abstracções Suportadas por um SO: Utilizador Processo Ficheiro /

Leia mais

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra.

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra. NoSQL Apache Cassandra para DBAs Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra. Apresentação Pessoal Ronaldo Martins: Há mais de 14 anos dedicado à tecnologias Oracle, passando pelas

Leia mais

Canais de Comunicação

Canais de Comunicação Canais de Comunicação February 24, 2010 Sumário Comunicação via Mensagens Propriedades dum Canal de Comunicação Protocolos da Internet UDP TCP Aplicação Distribuída O que é? É uma aplicação que consiste

Leia mais

Sistemas Distribuídos Aula 17

Sistemas Distribuídos Aula 17 Sistemas Distribuídos Aula 17 Aula passada Garantindo ordenação total Relógio de vetores Propriedades Aula de hoje Exclusão mútua Algoritmo centralizado Algoritmo de Lamport Token Ring Exemplo Bancário

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com

Leia mais

Bases de Dados. Parte I. Introdução: conceitos básicos

Bases de Dados. Parte I. Introdução: conceitos básicos Bases de Dados Parte I Introdução: conceitos básicos (Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no livro de Elmasri

Leia mais

No contexto informático. Requisitos

No contexto informático. Requisitos Nuno Melo e Castro Sistema Conjunto de itens interdependentes que interagem para realizar uma tarefa Um método ou conjunto de procedimentos que definem um comportamento Pode ser automatizado ou manual,

Leia mais

trabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013

trabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013 trabalho Heitor Oliveira,Rafael Aleixo,Alex Rodrigues September 2013 Sistemas Distribuídos ea Internet Aplicacao Distribuida// 1 Aplicacao Distribuida O que é? É uma aplicação que consiste em 2 ou mais

Leia mais

2 - Organização do Sistema Operativo. Prof. Ricardo Silva

2 - Organização do Sistema Operativo. Prof. Ricardo Silva 2 - Organização do Sistema Operativo Prof. Ricardo Silva Sumário Principais Elementos da Arquitectura de Sistemas Operativos Núcleo Chamadas ao sistema Processos de sistema Evolução da organização do núcleo

Leia mais

Sistemas Distribuídos. Enunciado da Segunda Parte do Projecto

Sistemas Distribuídos. Enunciado da Segunda Parte do Projecto LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A Sistemas Distribuídos 2 o Semestre 2013/2014 Enunciado da Segunda Parte do Projecto Este enunciado apresenta os requisitos relativos à segunda parte do projeto de Sistemas

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

PROTOCOLOS DE COMUNICAÇÃO

PROTOCOLOS DE COMUNICAÇÃO PROTOCOLOS DE COMUNICAÇÃO 3º ANO / 2º SEMESTRE 2014 INFORMÁTICA avumo@up.ac.mz Ambrósio Patricio Vumo Computer Networks & Distribution System Group Serviços de Transporte na Internet Arquitectura TCP/IP

Leia mais

Trabalho de laboratório sobre DHCP

Trabalho de laboratório sobre DHCP Trabalho de laboratório sobre DHCP Redes de Computadores I - 2005/2006 LEIC - Tagus Park Semana de 21 a 25 de Novembro 1 Introdução O objectivo desta aula é a familiarização com conceitos básicos do protocolo

Leia mais

PROVIDING DEPENDABILITY FOR WEB SERVICES

PROVIDING DEPENDABILITY FOR WEB SERVICES PROVIDING DEPENDABILITY FOR WEB SERVICES Dário Lima Pedro Venâncio a16435 m2610 Sistemas Distribuídos e Tolerância a Falhas 1 Esta tecnologia tem como finalidade proporcionar interoperabilidade para aplicações

Leia mais

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Teste A

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de o Teste A Número: Nome: Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 6 de Janeiro de 2006 3 o Teste A Duração: 1 hora O teste é sem consulta O teste deve ser resolvido

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

Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Sistemas Distribuídos

Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Sistemas Distribuídos Arquiteturas Tolerantes a faltas em Sistemas Distribuídos Replicação Replicação Conceito simples: manter cópias dos dados em múltiplos computadores Exemplos do nosso dia a dia? Page 1 1 Replicação: que

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 6ª Aula Entrada e Saída Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Estrutura da máquina de von Neumann Dispositivos Periféricos Interface com o mundo exterior

Leia mais

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

! # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional Nuno Melo e Castro !" # Modelos de dados 1ª geração Modelo Hierárquico Modelo Rede 2ª geração Modelo Relacional 3ª geração Extensões ao modelo relacional Modelo lógico-dedutivo Modelo orientado a objectos

Leia mais

Guia de Instalação do "Google Cloud Print"

Guia de Instalação do Google Cloud Print Guia de Instalação do "Google Cloud Print" Versão 0 POR Definições de notas Ao longo deste manual do utilizador é utilizado o seguinte ícone: As s indicam o que fazer se ocorrerem determinadas situações

Leia mais

Planificação Anual da disciplina de Comunicação de dados 12º 1PE

Planificação Anual da disciplina de Comunicação de dados 12º 1PE Conteúdos 1.Conceitos básicos 1.1. Rede de Comunicação 1.2. Redes de dados 1.3. Transmissão de Dados 1.4. A Informação 2.Redes de dados 2.1. Importância 2.2. Áreas de Aplicação 2.2.1.Perspectiva de evolução

Leia mais

Tolerância a Falhas. Sumário. December 18, Introdução e Terminologia. Modelos de Falha

Tolerância a Falhas. Sumário. December 18, Introdução e Terminologia. Modelos de Falha Tolerância a Falhas December 18, 2009 Sumário Introdução e Terminologia Modelos de Falha Tolerância a Falhas (Fault-tolerance) Sistemas distribuídos possuem modos de avaria parcial: Alguns componentes

Leia mais

ERP PRIMAVERA STARTER V9.15

ERP PRIMAVERA STARTER V9.15 Manual de Instalação e Inicialização ERP PRIMAVERA STARTER V9.15 Versão 1.0 Setembro de 2015 Índice Índice... 2 Introdução... 3 Métodos de Instalação... 4 Instalação através do Setup Único... 4 Pré-requisitos

Leia mais

Banco de Dados Relacional

Banco de Dados Relacional Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1 Plano de Ensino Objetivo

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 Sincronização de Relógio Estados Globais

Leia mais