O SD o sistema adequado para a replicao de dados e essas
replicaes devem ser de forma consistentes, pois a replicao consiste em manter mltiplas cpias de dados, chamadas de rplicas, em diferentes computadores. RAZES PARA REPLICAO
confiabilidade - replicas garantem que no haver um nico
ponto de falha no sistema. disponibilidade - replicas propiciam o aumento da disponibilidade do sistema como consequncia da confiabilidade. transparncia de falha - em caso de falha, o usurio pode ser movido para outra replica sem notar que a falha ocorreu. desempenho - balanceamento de carga, uso de cache, escalabilidade geogrfica, aumento do sistema. OBJETOS COMPARTILHADOS REPLICAO COMO TCNICA DE ESCALABILIDADE Replicao e Cache so largamente utilizadas como tcnicas de escalabilidade para efeito de desempenho e questes de escalabilidade normalmente aparecem na forma de problemas de desempenho, assim: disponibilizar copias de dados prximas aos processos que as utilizam pode melhorar o desempenho pela reduo do tempo de acesso e, assim, resolver problemas de escalabilidade. MODELOS DE CONSISTNCIA
CONCISTENCIA FORTE: Operaes em dados
compartilhados so sincronizados. Consistncia estrita (relacionada ao tempo) Consistncia sequencial Consistncia casual (apenas relaes de causa) Consistncia FIFO (apenas ordenao individual) MODELOS DE CONSISTNCIA
CONSISTENCIA FRACA: Sincronizao ocorre apenas com
bloqueio e liberao dos dados compartilhados. Consistncia fraca Consistncia na liberao da RC (release consistency) Consistncia na entrada da RC CONSISTNCIA EVENTUAL CONSISTNCIA NO CLIENTE
Meta: mostrar como talvez evitar consistncia no sistema todo, concentrando
em o que os clientes querem, e no o que deveria ser mantido pelos servidores. Histrico: maioria dos SD de grande escala (banco de dados) aplicam replicao para escalabilidade, mas podem suportar apenas consistncia fraca: DNS: mudanas so propagadas devagar, inseres podem no ser imediatamente visveis. Lotus Notes: servidores geograficamente dispersos replicam documentos, mas no fazem tentativa de manter modificaes (concorrentes) mutuamente consistentes. WWW: Caches esto em todo lugar, mas no tem precisa garantia que est lendo a mais recente verso da pgina. PROTOCOLO DE CONSISTNCIA
Protocolode Consistncia: descreve a implementao de um
modelo especfico de consistncia. O modelos mais importantes e aplicados so aqueles onde as operaes so globalmente serializadas (sequencial, fraca com sincronizao, transaes) Enfatizamos apenas protocolos para consistncia sequencial: COLOCAO DE RPLICAS
rplicas permanentes: processo/mquina sempre tendo uma
rplica (conjunto inicial de rplicas em um SD) rplica iniciada no servidor: processo que pode dinamicamente hospedar uma rplica a pedido de outro servidor ( cpias de uma base que existe para melhorar o desempenho) rplica iniciada no cliente: processo que pode dinamicamente hospedar uma rplica a pedido de um cliente ( cache cliente) REPICAS SO CRIADAS NO SERVIDOR
Modelo de replicao dinmica.
Rplicas so criadas de acordo com a necessidade. Ex: para melhorar desempenho No caso de servidor web, so tambm conhecidas por push caches. Problema: decidir onde e quando rplicas deveriam ser criadas ou deletadas. REPLICA INICIADA NO CLIENTE
A rplica uma cache.
A consistncia da rplica por conta do usurio. Usado somente para melhorar o desempenho do acesso. Na web, uma maquina pode ser compartilhada por mais de um cliente. PROPAGAO DE ATUALIZAES
Propagar somente uma notificao de um update, muito
update pouco read. Ex: protocolo de invalidao Transferir os dados de uma copia para outra, se torna melhor quando existe muitos updates e reads. Propagar a operao de atualizao para outras rplicas. Ex: replicao ativa REPLICAO ATIVA ALGORITMOS EPIDMICOS
Ideia bsica: Assumir que todas as modificaes de um item de
dados so iniciadas em um nico servidor (evitando conflitos write- write). operaes de modificao so inicialmente realizadas em uma ou poucas rplicas. uma rplica passa seu estado modificado para um numero limitado de vizinhos. propagao da modificao demorada. eventualmente, cada modificao deve chegar a toda rplica. MODELOS
Ante Entropia: Cada rplica regularmente escolhe outra
rplica de forma randmica e troca diferenas de estado, levando a estados idnticos nos dois.
Espalha-rumor: Uma rplica que foi modificada
(contaminada) conta a um numero de outras rplicas sobre a modificao (contaminando as mesmas). REFERENCIAS
Andrew S. Tanenbaum; Maarten van Steen - Distributed
Systems: Principles and Paradigms, Prentice-Hall, 2007, ISBN- 10: 0132392275, ISBN-13: 9780132392273 George Coulouris; Jean Dollimore; Tim Kindberg Sistemas Distribuidos: Conceitos e Projeto, Bookman, 4th Edition, 2007, ISBN 9788560031498