CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf ·...

38
SISTEMAS DISTRIBUÍDOS CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995

Transcript of CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf ·...

Page 1: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

SISTEMAS DISTRIBUÍDOSCAPÍTULO 7 – CONSISTÊNCIA E

REPLICAÇÃOSlides cedidos pela Professora Aline

Nascimento e do curso Distributed Systems W4995

Page 2: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Modelos de Consistência Centrados em Dados

Visam fornecer uma visão consistente de um depósito de dados no âmbito de um sistema

Processos concorrentes podem estar atualizando um depósito de dados simultaneamente

Modelos de Consistência Centrados no Cliente

Os depósitos de dados são caracterizados pela ausência de atualizações simultâneas

A maioria das operações envolve ler dados

Estes depósitos oferecem um modelo de consistência mais fraco consistência eventual

Page 3: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Até que ponto a consistência precisa ser garantida?

Pode variar dependendo da aplicação

Páginas Web caches locais com páginas ainda

desatualizadas grau de inconsistência pode ser tolerado pelo

cliente

Com a introdução de modelos de consistência centrados no

cliente, muitas inconsistências podem ser ocultadas de

modo relativamente barato

Page 4: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

CONSISTÊNCIA EVENTUAL

Consistência Eventual

Page 5: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Consistência centrada no Cliente

Quando se usa depósitos de dados de consistência eventual

Se um mesmo usuário operar sobre réplicas diferentes, ele pode

obter inconsiste ncias se as atualizações ainda não tiverem sido

propagadas

Estas inconsistências podem ser resolvidas a partir de

consistencia centrada no cliente

Dá garantia a um único cliente de consistência de acesso a um

depósito de dados por esse cliente

Não há garantia para acessos concorrentes por clientes diferentes

Page 6: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

São destacados 4 modelos distintos de consistência

Leituras monotônicas

Escritas monotônicas

Leia-suas-escritas

Escritas-seguem-leituras

Page 7: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

São usadas as seguintes notações:

xi versão do item de dados x na cópia local Li

WS(xi) conjunto de operações de escrita ocorrida em x em Li até

chegar em xi

Ok(xi;xj) o processo k realizou a operação O e produziu o valor xj a

partir de xi

Ok(xi|xj) o processo k realizou a operação O e produziu o valor xj

independentemente do valor xi

Page 8: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Leituras Monotônicas

Se um processo ler o valor de um item de dados x, qualquer operac ão de leitura sucessiva de x executada por esse processo sempre retornará o mesmo valor ou um valor mais recente

A consistência de leitura monotônica garante que se um processo viu um valor de x no tempo t, ele nunca verá uma versão mais velha de x em um tempo posterior

Page 9: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Leituras Monotônicas

Neste caso temos consistência porque na segunda leitura do processo 1, é lido um valor que é relacionado à primeira leitura

Neste caso não temos consistência porque na segunda leitura do processo 1, é lido um valor que não é relacionado à primeira leitura

Page 10: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Leituras Monotônicas

Na leitura de um calendário pessoal em diferentes servidores, a consistência leitura monotônica garante que o dono do calendário irá sempre ver todas as atualizações, independentemente de qual servidor está sendo acessado

Também garante que, se o usuário ler email e não houvermodificação enquanto o usuário estiver se movimentando de um servidor para outro, o usuário verá os emails que ele já leunovamente

Page 11: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Escritas Monotônicas

Uma operação de escrita executada por um processo em um item de dados x é concluída antes de qualquer operac ão de escrita sucessiva em x pelo mesmo processo

Atualização de versões de bibliotecas substituindo uma ou mais funcões

Neste caso temos consistência porque na segunda escrita do processo 1, é escrito um valor que é relacionado à primeira escrita realizada pelo processo 1

Neste caso não temos consistência porque na segunda escrita do processo 1, é escrito um valor que não é relacionado à primeira escrita

Neste caso temos consistência porque na segunda escrita do processo 1, é escrito um valor que é relacionado à primeira escrita realizada pelo processo 1

Neste caso não temos consistência porque na segunda escrita do processo 1, é escrito um valor que não é relacionado à primeira escrita

Neste caso temos consistência porque na segunda escrita do processo 1, é escrito um valor que é relacionado à primeira escrita realizada pelo processo 1

Neste caso não temos consistência porque na segunda escrita do processo 1, é escrito um valor que não é relacionado à primeira escrita

Page 12: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Leia suas escritas

O efeito de uma operação de escrita por um processo no item

de dados x sempre será visto por uma operac ão de leitura

sucessiva em x pelo mesmo processo

Contra-exemplo: Atualizamos uma página no servidor, mas quando

abrimos a página vemos a versão antiga (problema com o cache)

Neste caso temos consistência porque na leitura do processo 1, é lido um valor que é relacionado à escrita anterior realizada pelo processo 1

Neste caso não temos consistência porque na leitura do processo 1, é lido um valor que não é relacionado à escrita anterior realizada pelo processo 1

Page 13: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Escritas seguem leituras

Qualquer operação de escrita sucessiva executada por um

processo em um item de dados x, será realizada sobre uma

cópia de x atualizada com o valor lido mais recentemente pelo

processo

Neste caso temos consistência porque na escrita do processo 2, é escrito um valor que é relacionado à primeira leitura realizada pelo processo 1

Neste caso não temos consistência porque na escrita do processo 2, é escrito um valor que não é relacionado à primeira leitura realizada pelo processo 1

Page 14: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

MODELOS DE CONSISTÊNCIA CENTRADOS NO CLIENTE

Escritas seguem leituras

Garantir que usuários de um grupo de discussão em rede vejam a apresentação de uma reação a um artigo somente depois de terem visto o artigo original

Um usuário lê um artigo A e depois reage apresentando uma resposta B

B será escrito para qualquer cópia do grupo, somente após A ter sido escrito

Page 15: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

GERENCIAMENTO DE RÉPLICAS

Onde, quando e por quem réplicas devem ser posicionadas?

Posicionar servidores de réplicas

É o posicionamento de hardware: encontrar as melhores

localizac ões para colocar um servidor que pode hospedar depósito

de dados (ou parte dele)

Posicionar conteúdo

É o posicionamento dos dados e softwares: encontrar o melhor

servidor para colocar conteúdo.

Page 16: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

POSICIONAMENTO DO SERVIDOR DE RÉPLICAS

Análises das propriedades do cliente e da rede são úteis

para se tomar decisões conscientes

Há vários modos de se calcular o melhor posicionamento de

servidores de réplicas

No geral, é um problema de otimização que consiste em selecionar

as melhores K de N localizações

Page 17: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

POSICIONAMENTO DO SERVIDOR DE RÉPLICAS

Para selecionar as melhores K de N localizações

Podem ser usadas heurísticas baseadas na distancia (latencia,

largura de banda) entre clientes e localizac ões

Ou pode-se ignorar posições de clientes considerando a

Internet como um conjunto de Sistemas Autonomos (AS)

Rede no qual os nós executam o mesmo protocolo de roteamento,

que é gerenciada por uma única organização

Consideram o maior AS e colocam um servidor no roteador com

maior numero de enlaces

Os ASs são escolhidos em ordem de tamanho

Page 18: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

POSICIONAMENTO DO SERVIDOR DE RÉPLICAS

O problema é que estes algoritmos são caros em termos de cálculo

Alternativa:

Foi desenvolvido um método para identificar rapidamente uma

região para o posicionamento do servidor de réplicas

As regiões são identificadas como um conjunto de nós que

acessam o mesmo conteúdo, com uma latência baixa entre nós

Primeiramente, seleciona-se as regiões com o maior número de

nós, e permite que um dos nós aja como Servidor de Réplicas

Funciona tão bem quanto os anteriores Mais rápido

Page 19: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

GERENCIAMENTO DE RÉPLICAS

Replicação e posicionamento de conteúdo

Após o posicionamento do servidor de réplicas, é preciso

decidir sobre o posicionamento do conteúdo

Qual o melhor servidor para hospedar uma cópia de um depósito

de dados

Podem se distinguir 3 tipos de réplicas organizadas logicamente:

Réplicas permanentes

Réplicas iniciadas por servidor

Réplicas iniciadas por cliente

Page 20: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

REPLICAÇÃO E POSICIONAMENTO DE CONTEÚDO

Réplicas permanentes:

Conjunto inicial de réplicas que constituem um depósito de

dados distribuído

Número de réplicas permanentes normalmente é pequeno

Exemplo: Site Web

Arquivos que constituem um site são replicados para um número

limitado de servidores que estão em uma única localização

Ou, site Web é copiado para um número limitado de servidores,

sites espelhados, que estão geograficamente espalhados pela

Internet

Page 21: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

REPLICAÇÃO E POSICIONAMENTO DE CONTEÚDO

Réplicas iniciadas por servidor:

Cópias de um depósito de dados para aprimorar desempenho

são criadas por iniciativa do (proprietário do) depósito de dados

Replicac ão ou migracão de arquivos para proximidade de

clientes que emitem muitas requisições

Exemplo:

Considere um servidor em NY. Pode acontecer uma rajada de

requisições de uma localização inesperada, longe do servidor.

Neste caso, talvez seja vantajoso instalar uma quantidade de

réplicas temporárias nas regiões de onde vem as requisições

Page 22: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

REPLICAÇÃO E POSICIONAMENTO DE CONTEÚDO

Réplicas iniciadas por cliente:

São mais conhecidas como Cache na máquina do cliente

Recurso de armazenamento local, usado por um cliente para

armazenar temporariamente uma cópia dos dados que ele

acabou de requisitar

Caches são usadas para melhorar o tempo de acesso aos dados

Gerenciamento da cache cabe inteiramente ao cliente

O depósito de dados de onde os dados foram trazidos nada tem a

ver com a manutenção da consistência dos dados em cache

Page 23: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

REPLICAÇÃO E POSICIONAMENTO DE CONTEÚDO

Réplicas iniciadas por cliente:

Quando um cliente quer acessar alguns dados, se conecta com

a cópia do depósito de dados mais próxima

Quando a maioria das operações envolve somente ler dados, o

desempenho pode ser melhorado, dado que o cliente pode

armazenar dados requisitados em uma cache mais próxima.

Cache pode estar localizada na máquina do cliente, ou em uma

outra máquina separada dentro da mesma rede local

Dados são mantidos por um período limitado de tempo

Page 24: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

REPLICAÇÃO E POSICIONAMENTO DE CONTEÚDO

Replicação e posicionamento de conteúdo

Page 25: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

GERENCIAMENTO DE RÉPLICAS

Distribuição de Conteúdo

O gerenciamento de réplicas também trata da propagac ão de

conteúdo atualizado para servidores de réplicas relevantes,

seguindo os compromissos:

Estado X Operac ões

Protocolos de recuperac ão de atualizac ão X Protocolos de

envio de atualizac ões

Page 26: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

DISTRIBUIÇÃO DE CONTEÚDO

Estado X Operações

Uma importante questão de projeto refere-se ao fato do que

deve ser propagado:

1. Somente uma notificac ão de uma atualizac ão

2. Transferir dados de uma cópia para outra

3. Propagar a operacão de atualizacão para outras cópias

Page 27: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

DISTRIBUIÇÃO DE CONTEÚDO

Notificac ão de uma atualizac ão

Realizadas por protocolos de invalidac ão

Cópias são informadas que uma atualização ocorreu e que os dados que elas contém não são mais válidos

Usam pouca largura de banda

Útil quando existe muita operação de atualização e pouca leitura

Dados não são propagados

Toda vez que é requisitada uma operação em uma cópia invalidada, em geral esta cópia precisa ser atualizada anteriormente, segundo o modelo de consistência

Page 28: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

DISTRIBUIÇÃO DE CONTEÚDO

Transferir Dados de Uma Cópia para Outra

Várias modificac ões empacotadas em uma única mensagem

Útil quando a taxa leitura/escrita é relativamente alta

A probabilidade de uma atualização ser realmente efetiva é

grande

Os dados modificados devem ser lidos antes de ocorrer uma outra

atualização sucessiva

O fato de haver um grande número de leituras faz com que os

dados devam ser modificados antes de ocorrer a atualização

seguinte

Page 29: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

DISTRIBUIÇÃO DE CONTEÚDO

Propagar a operacão de atualizac ão para outras cópias

Não transferir dados, mas informar a cada réplica qual operac ão de atualizac ão ela deve realizar

São informados os parâmetros e informações necessárias para a operação de atualização

Esta abordagem é denominada replicação ativa

O principal benefício da replicação ativa é que as atualizações muitas vezes podem ser propagadas com custos mínimos de largura de banda

Pode ser que a réplica precise de maior capacidade de processamento

Page 30: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

DISTRIBUIÇÃO DE CONTEÚDO

Recuperação X Envio de Atualizações

Abordagem baseada em envio

Atualizacões são propagadas para outras réplicas sem que essas

réplicas tenham solicitado essas atualizações

Costumam ser usados entre réplicas permanentes e réplicas

iniciadas por servidor, mas também podem ser usadas para enviar

atualizações a caches de clientes

Usadas quando é necessário alto grau de consiste ncia

Dados consistentes estão disponíveis imediatamente quando

solicitados

Page 31: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

DISTRIBUIÇÃO DE CONTEÚDO

Recuperação X Envio de Atualizações

Abordagem baseada em recuperac ão de atualizac ões

Um servidor ou cliente requisita que um outro servidor lhe envie

quaisquer atualizacões que ele tiver no momento em questão

Comumente usado por caches de clientes

Cliente sonda o servidor para ver se é necessária uma atualização

Page 32: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

DISTRIBUIÇÃO DE CONTEÚDO

Comparação entre protocolos

Page 33: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

QUESTÃO 2

Explique qual a principal razão de se utilizar

modelos de consistência fraca.

Page 34: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

RESPOSTA 2

Muitas vezes é necessário utilizar replicação para aumentar

o desempenho do sistema. Com a replicação, surge a

necessidade de se manter réplicas consistentes.

Trabalhar com consistência, de maneira a evitar uma

sincronização global de eventos, é a única forma de se

alcançar um bom desempenho em sistemas distribuídos de

larga escala.

Assim, muitas aplicações aceitam modelos de consistência

fraca onde as restrições em relação a atualização das

réplicas podem ser relaxadas.

Page 35: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

QUESTÃO 4

Durante a discussão de modelos de consistência, nos

referimos frequentemente ao contrato entre o software e o

depósito de dados. Por que tal contrato é necessário?

Page 36: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

RESPOSTA 4

É importante que o depósito de dados implemente o que o

software espera. Se um programa espera consistência

sequencial, o depósito de dados deve garantir este nível de

consistência.

Entretanto, para melhorar o desempenho pode-se fornecer

um modelo de consistência mais fraco. Neste caso, o

software deve concordar com as regras de um novo

contrato.

Page 37: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

QUESTÃO 7

Considere modelos de consistência centrados em dados

Consistência Contínua

Consistência Sequencial

Consistência Causal

Qual tipo de consistência você utilizaria para implementar

um mercado de ações eletrônico?

Page 38: CAPÍTULO 7 – CONSISTÊNCIA E REPLICAÇÃO Slides cedidos …simone/sd/contaulas/aula17.pdf · Slides cedidos pela Professora Aline Nascimento e do curso Distributed Systems W4995.

RESPOSTA 7

Consistência causal seria suficiente.

A consistência causal e sequencial ampliam a consistência contínua no sentido que quando for preciso comprometer atualizações provisórias em réplicas elas devem obedecer a um acordo sobre a ordenação global destas atualizações.

Na consistência causal

Mudanças que ocorrem de maneira independente podem ser

realizadas em ordens diferentes

Já, mudanças que ocorrem como reações de outras devem ser

consistentes