Buscar

Sistemas Distribuídos - Lista sobre Consistência e Replicação


Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Continue navegando


Prévia do material em texto

Sistemas Distribuídos 
Lista de Exercícios - Consistência e Replicação 
1. Cite e descreva as principais razões para a utilização de réplicas de dados em 
Sistemas Distribuídos. 
 
Dados são replicados para aumentar a confiabilidade do sistema e fornecer 
mais segurança contra dados corrompidos, pois se o acesso a uma das 
cópias falhar, basta buscar outra. Além disso, a replicação contribui para a 
performance quando o sistema precisa escalar e termos de tamanho ou 
geograficamente. 
 
2. Qual o principal problema da utilização da replicação como técnica de 
escalabilidade? 
 
A replicação cria um problema quanto à consistência, pois quando uma cópia 
é modificada, ela se torna diferente das outras. Assim, modificações devem 
ser feitas em todas as cópias para garantir a consistência. Quando e como 
essas modificações precisam ser feitas é o que determina o preço da 
replicação. 
 
3. O que é um modelo de consistência de dados? Descreva o modelo de consistência 
com o maior grau de consistência possível, denominado consistência estrita ou 
severa. 
 
É essencialmente um contrato entre processos e o banco de dados. Diz que 
se os processos concordam em seguir certas regras, o banco se compromete 
a trabalhar corretamente. Normalmente um processo espera que uma 
operação de leitura retorne um valor correspondente à última operação de 
escrita naquele dado, sendo assim a consistência estrita. 
 
4. Cite e descreva os três tipos principais de inconsistências que podem ser usados 
para implementar consistência em sistemas reais. 
 
- Desvios Numéricos: podem ser usados em sistemas onde os dados 
possuem semântica numérica (preços do mercado de ações). 
- Desvios de Idade: estão relacionados com a última vez que uma 
réplica foi atualizada: algumas aplicações podem tolerar que uma 
réplica forneça dados desatualizados que não sejam muito antigos 
(previsão do tempo). 
- Desvios em relação à ordenação de operações: em algumas 
aplicações, é permitido que a ordenação das atualizações seja 
diferente nas várias réplicas, dentro de um limite, então atualizações 
são aplicadas provisoriamente a uma cópia local, à espera de um 
acordo global de todas as réplicas. Como consequência, algumas 
atualizações podem precisar voltar atrás e serem aplicadas em uma 
ordem diferente antes de se tornarem permanentes 
 
 
 
 
5. O modelo de consistência sequencial não faz nenhuma referência a tempo, isto é, 
não existe a idéia de escrita 'mais recente'. Discuta esta afirmação. 
 
Quando processos executam concorrentemente em máquinas diferentes, 
qualquer intercalação válida de operações de leitura e escrita é um 
comportamento aceitável, mas todos os processos vêem a mesma 
intercalação de operações. 
Assim, os processos devem aceitar todos os resultados válidos como 
respostas adequadas e devem trabalhar corretamente se qualquer um deles 
ocorrer. 
 
6. Faça um exemplo com um conjunto de três escritas feitas por 3 processos diferentes 
em um mesmo item de dado x e respectivas leituras do mesmo dado em que se 
visualiza um depósito de dados que não seja sequencialmente consistente. 
 
[?] 
 
7. Por que o modelo de consistência causal pode ser classificado como uma variante 
mais fraca de consistência quando comparado com o modelo de consistência 
sequencial? 
 
O modelo de consistência causal faz distinção entre eventos que são 
potencialmente por relacionados causalidade e aqueles que não são. 
 
8. Que tipo de consistência você usaria para implementar um mercado eletrônico de 
ações? Explique sua resposta. 
 
Consistência causal, pois o problema é que as reações às mudanças nos 
valores das ações devem ser consistentes. As mudanças em ações que são 
independentes podem ser vistas em ordens diferentes. 
 
9. Quais os tipos de réplicas que podem existir em Sistemas Distribuídos? Descreva 
cada uma delas. 
 
- Réplicas permanentes: Conjunto inicial de réplicas que constituem um 
depósito de dados distribuído. Número de réplicas permanentes é 
pequeno. 
- Réplicas iniciadas por servidor: Cópias de um depósito de dados que 
existem para aprimorar desempenho e que são criadas por iniciativa 
do (proprietário do) depósito de dados. 
- Réplicas iniciadas por cliente: Recurso de armazenamento local, 
usado por um cliente para armazenar temporariamente uma cópia dos 
dados que ele acabou de requisitar (cache). Gerenciado pelo cliente. 
 
 
 
10. Para sistemas onde a razão leitura/escrita é relativamente pequena, qual tipo de 
informação deve ser propagada para alcançar uma maior eficiência? Por que? 
 
Notificação de atualização, pois as cópias são informadas de uma 
atualização ocorreu e que os dados que elas contêm não são mais válidos. 
Utiliza pouca largura de banda de rede e funciona melhor quando há mais 
operações de atualização em comparação com operações de escrita. 
 
11. Para sistemas onde a razão leitura/escrita é relativamente alta, qual tipo de 
informação deve ser propagada para alcançar uma maior eficiência? Por que? 
 
Transferir dados entre cópias, pois a probabilidade de uma atualização ser 
efetivada é grande, então o fato de haver um grande números de leituras faz 
com que os dados devam ser modificados antes de ocorrer a atualização 
seguinte. 
 
12. Por que os protocolos baseados em primários proporcionam uma implementação 
direta do modelo de consistência sequencial? 
 
Cada item de dados x no depósito de dados tem um primário associado, que 
é responsável por coordenar operações de escrita em x.