asda
Confiabilidade
Garante comportamento correto, apesar de alguns tipos de erros.
Ex.: dados corrompidos
Enquanto ao menos um servidor estiver funcionando, o serviço continua
Desempenho
É importante quando um sistema distribuído precisa ser ampliado em quantidade e área geográfica
No caso de ampliação em quantidade: diversos servidores web com o mesmo DNS e os servidores são selecionados alternadamente
No caso de ampliação geográfica: requisições são repassadas para o servidor mais próximo geograficamente
Réplicas permitem que alguns servidores continuem a funcionar mesmo em ocasião de falhas
É possível proteger contra corrupção de dados
Réplicas permitem que dados fiquem mais perto de
onde serão acessados → diminuição da latência
Replicação e cache para melhorar desempenho são amplamente utilizados para tratar os problemas de escalabilidade: colocar cópias de dados próximas aos processos que estão usando as mesmas, reduzindo o tempo de acesso.
Qual é o problema Consistência entre os dados das diversas réplicas
No caso da utilização de caches em um servidor Web...
Browsers costumam armazenar no local uma cópia de uma página Web que já foi buscada anteriomente
Se um usuário requisitar aquela página mais uma vez, o browser automaticamente retorna a cópia local
Tempo de acesso excelente, mas e se o usuário quiser ter a versão mais recente da página?
E no caso de um banco de dados com informações bancárias? Maior dificuldade: como sincronizar TODAS as réplicas – Todas as réplicas precisam chegar a um acordo sobre quando uma atualização deve ser realizada
– Em geral, requer uma sincronização global
– A única solução real é relaxar as restrições de consistência (1) O que é consistência?
(2) Quais são os diferentes modos de implementar modelos de consistência? Modelos de Consistência
Centrados em Dados
Discutida no contexto de operações de leitura- escrita em dados