4. “
De modo geral, dados são replicados
para aprimorar a confiabilidade ou
melhorar o desempenho. Um dos
principais problemas é manter as
réplicas consistentes.
4
5. Introdução ▫ Razões primárias para replicação:
▪ Confiabilidade;
▪ Desempenho;
Razões para
replicação
5
6. Introdução
“... dados são replicados para aumentar a
confiabilidade de um sistema”
▫ Um sistema de arquivo que é replicado
pode, a partir de uma falha, ser comutado
para uma réplica;
▫ Várias réplicas promove proteção contra
dados corrompidos;
Razões para
replicação
6
7. Introdução
Situação de Proteção
(Confiabilidade)
há três cópias de um arquivo e
toda operação de leitura e escrita
é executada em cada cópia
Onde está a proteção? Um erro de escrita?
Razões para
replicação
7
8. Introdução
“Replicação para conseguir desempenho é
importante quando um sistemas distribuído
precisa ser ampliado em quantidade e área
geográfica”
▫ Quantidade:
▪ Acontece quando um número maior de
processos precisa acessar dados que
são gerenciados por um único servidor;
▪ Pode-se aumentar o desempenho ao se
replicar o servidor, dividindo o trabalho;
Razões para
replicação
8
9. Introdução
▫ Por área geográfica:
▪ É verificada quando coloca-se uma
réplica próximo ao local que o processo
está sendo executado;
▪ O desempenho é verificado pelo
processo;
“Esse exemplo também ilustra que pode ser difícil
avaliar os benefícios da replicação para obter
desempenho”
Razões para
replicação
9
11. “
Se a replicação ajuda a
melhorar a confiabilidade e
desempenho, quem poderia
ser contra ela?
11
12. Introdução
Problemas da replicação:
▫ Manter várias cópias exige esforço para manter
a consistência;
▪ A modificação de um cópia a torna diferente
das demais;
▪ O preço da replicação é determinado
“quando e como essas modificações
precisam ser executadas”;
Razões para
replicação
12
13. Introdução
Situação
Melhorar tempo no acesso à páginas web
1. Browsers costumam armazenar no local uma
cópia de uma página que já foi acessada (cache);
2. O usuário requisitando a página mais de uma
vez, o browser utiliza a cópia local;
3. O tempo de acesso percebido é excelente;
4. Caso o usuário precise de um versão recente da
página, pode não tê-la;
5. A página pode ter sido atualizada e ainda não
propagada no cache;
Razões para
replicação
13
14. Introdução
Analisando soluções
Melhorar tempo no acesso à páginas web
1. Proibir o browser de manter cópias locais e
deixar para o servidor a total responsabilidade
de replicação;
2. Deixar que o servidor invalide ou atualize cada
cópia em cache, requerendo do servidor
monitoramento de todas as caches;
Razões para
replicação
14
17. Introdução
“Replicação e cache para melhorar
desempenho encontram ampla aplicação
como técnicas de aumento do tamanho.
De modo geral, questões de escalabilidade
aparecem sob a forma de problemas de
desempenho”
Replicação como
técnica de
crescimento
17
18. Introdução Cópias atualizadas é igual
maior largura de banda
P é um processo que acessa uma réplica
local N vezes por segundo, ao passo que a
réplica em si é atualizada M vezes por
segundo.
Replicação como
técnica de
crescimento
18
19. Introdução N << M
isto é, a razão acesso/atualização for
muito baixa, temos a situação em que
muitas versões atualizadas da réplica
local nunca serão acessadas por P
Replicação como
técnica de
crescimento
19
20. 20
É preciso projetar o sistema pensando
em duas variáveis:
a) vale a pena colocar um réplica tão
próximo?
b) a estratégia de atualização da
réplica é realmente eficiente?
22. Introdução Consistência estrita (informal) fornecida
pela replicação síncrona.
“A ideia fundamental é que uma
atualização seja realizada em todas as
cópias como uma única operação atômica,
ou transação”
Replicação como
técnica de
crescimento
22
23. Introdução
Como sincronizar todas as réplicas nesta
abordagem? (dificuldade)
▫ É necessário definir QUANDO uma
atualização deverá ser realizada
localmente.
Replicação como
técnica de
crescimento
23
24. Introdução
A cura pode ser pior do que a
doença
Replicação como
técnica de
crescimento
24
25. Introdução
“[...] problemas de escalabilidade
podem ser amenizados pela aplicação
de replicação e cache, o que resulta em
melhor desempenho.”
“[...] manter todas as cópias
consistentes em geral requer
sincronização global, que é
inerentemente cara em termos de
desempenho”
Replicação como
técnica de
crescimento
25
26. Introdução
“[...] problemas de escalabilidade
podem ser amenizados pela aplicação
de replicação e cache, o que resulta em
melhor desempenho.”
“[...] manter todas as cópias
consistentes em geral requer
sincronização global, que é
inerentemente cara em termos de
desempenho”
Replicação como
técnica de
crescimento
26
27. Introdução
Solução!
▫ “Relaxar” as restrições de consistência;
▫ Abrandar requisitos de que atualizações
precisam ser executadas como operações
atômicas;
▫ Possivelmente, evitar sincronizações globais
instantâneas, com o objetivo de ganhar
desempenho;
Replicação como
técnica de
crescimento
27
28. Introdução
“O preço a pagar é que pode ser que as
cópias nem sempre sejam iguais em
todos os lugares”
Replicação como
técnica de
crescimento
28
30. “
Por tradição, a consistência tem sido
discutida no contexto de operações de
leitura e escrita em dados compartilhados
disponíveis por meio de memória
compartilhada (distribuída), de um banco
de dados (distribuído) compartilhado ou de
um sistema de arquivos (distribuído).
30
31. Depósito de
Dados
Depósito de Dados
(termo amplo)
▫ Pode ser distribuído fisicamente por várias
máquinas;
▫ Cada processo que pode acessar dados do
depósito tem uma cópia local (ou próxima)
disponível do depósito inteiro;
▫ Operações de escrita são propagadas para
outras cópias;
Modelo de
consistência
centrados em
dados
31
33. Operação de
Dados
“Uma operação de dados é classificada
como uma operação de escrita quando
altera os dados, caso contrário é
classificada como uma operação de
leitura”
Modelo de
consistência
centrados em
dados
33
34. Modelo de
consistência
“Um modelo de consistência é, em
essência, um contrato entre processos
e o depósito de dados. Ele diz que, se
os processos concordarem em
obedecer a certas regras, o depósito
promete funcionar de maneira correta”
Modelo de
consistência
centrados em
dados
34
35. 35
Como podemos definir com precisão
qual operação de escrita é a última a
ser realizada quando se discute
sincronização/consistência?
“Como alternativa, precisamos fornecer outras definições, o que
resulta em um conjunto de modelos de consistência”
37. Solução para
replicação de
dados
“[...] não existe melhor solução para
replicar dados”
▫ A replicação propõem problemas de
consistência que não podem ser resolvidos com
eficiência;
▫ Seria necessário abrandar a consistência para
ter esperança de conseguir soluções eficientes;
▫ Não existem regras gerais sobre como abrandar
a consistência;
▫ O que seria tolerável como consistente em
muitas aplicações?
Consistência
contínua
37
38. Inconsistências
toleráveis
1. Desvio em valores números entre
réplicas;
2. Desvio em idade entre réplicas;
3. Desvio em relação à ordenação de
operação de atualização;
Esses desvios trabalham como faixas
de consistência contínua.
Consistência
contínua
38
39. Inconsistências
toleráveis
Inconsistência em termos de
desvios numéricos
Exemplo: Replicação de registro que contêm
preços do mercado de ações. Restringir que
duas cópias não devem se desviar por mais do
$0,02 (absoluto). Ou especificar um desvio
numérico relativo, 0,5%.
Consistência
contínua
39
40. Inconsistências
toleráveis
“Em ambos os casos, veríamos que, se o preço
de uma ação subir (e uma das réplicas for
imediatamente atualizada) sem violar os
desvios numéricos especificados, as réplicas
ainda seriam consideradas como mutuamente
consistentes”
“Os desvio numérico também ide ser
entendido em termos do número de
atualizações que foram aplicadas a
determinada réplica, mas que ainda não forma
vistas pelas outras”
Consistência
contínua
40
41. Inconsistências
toleráveis
Inconsistência em termos de
desvios de idade
▫ Estão relacionados com a última vez que uma
réplica foi atualizada;
▫ Algumas aplicações toleram o fornecimento de
dados antigos, mas não em demasia;
Exemplo: previsões do tempo em geral
permanecem razoavelmente exatas durante algum
tempo, por horas. Assim, um servidor pode receber
atualizações em tempos oportunos, mas pode
decidir uma periocidade de propagação para as
réplicas.
Consistência
contínua
41
42. Inconsistências
toleráveis
Inconsistência em termos de
desvios em relação a ordenação
das atualizações
▫ É permitido que a ordenação das atualizações
seja diferente nas várias réplicas, contato que as
diferenças respeitem um limite;
Exemplo: Um modo de considerar essas
atualizações é que elas são aplicadas
provisoriamente a uma cópia local, à espera de um
acordo global de todas as réplicas. Pode acontecer
de algumas atualizações aplicadas precisarem se
reorganizar para manter o acordo global.
Consistência
contínua
42
43. Inconsistências
toleráveis
Inconsistência em termos de
desvios em relação a ordenação
das atualizações
“A intuição nos diz que os desvios de
ordenação são muito mais difíceis de
entender do que as outras duas
métricas de consistência”
Consistência
contínua
43
45. O que é Conit
Consistency (co) + unit (nit)
Uma conit especifica a unidade segundo a qual
a consistência deve ser medida
Exemplo: no exemplo da bolsa de valores, uma
conit poderia ser definida como um registro
que representa uma única ação.
Noção de uma
conit
45
47. Limitações ao
se utilizar
conits
“Embora do ponto de vista de conceito as conits formem
um modo atraente de capturar requisitos de consistência,
há duas questões importantes que precisam ser tratadas
antes que elas possam ser colocadas em uso na prática”
1. Impor consistência necessita de procotolos
(discutido a frente);
2. Desenvolvedores de programa precisam
especificar os requisitos de consistência:
I. Obter tais requisitos é extremamente difícil;
II. Entender as informações detalhadas sobre
consistência que precisam ser fornecidas;
III. Seria necessário haver interfaces de
programação que simplificasse e facilitasse o
processo;
Noção de uma
conit
47
49. “
Além da consistência contínua,
há um imenso acervo de
trabalho sobre modelos de
consistência centrados em
dados acumulado em décadas
passadas.
49
51. Consistência
sequencial e
consistência
casual
Consistência sequencial e
consistência casual
“Confrontados com o fato de que em computação paralela
e distribuída vários processos vão precisar compartilhar
recursos simultaneamente, os pesquisadores procuraram
expressar a semântica de acessos concorrentes quando os
recursos compartilhados forem replicados”
Nesta seção iremos destacar:
Modelos de ordenamento de operações consistentes em
dados compartilhados;
(estes) modelos ampliam o consistência contínua;
Tratam como chegar a um acordo sobre uma ordenação
global das atualizações;
Ordenação
consistente de
operações
51
53. Consistência
sequencial
“A consistência sequencial é um importante
modelo de consistência centrado em dados
que foi definido pela primeira vez por Lamport
(1979) no contexto da memória compartilhada
para sistemas multiprocessadores”
53
Ordenação
consistente de
operações
54. Consistência
sequencial
Mas, estamos falando de depósito de dados
consistentes, não esqueçamos. Quando um
depósito de dados pode ser consistente
neste contexto?
Ele precisa satisfazer a seguinte condição:
O resultado de qualquer execução é o mesmo que seria se as
operações (de leitura e escrita) realizadas por todos os
processos no depósito de dados fossem executadas na mesma
ordem sequencial e as operações de cada processo individual
aparecessem nessa sequencia na ordem especificada por seu
programa.
54
Ordenação
consistente de
operações
55. Consistência
sequencial
O que isso significa?
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 veem a mesma
intercalação de operações;
Isto é, não há nenhuma referência à operação de
escrita ‘mais recente’ sobre um item de dados;
Na consistência sequencial o processo vê escritas de
todos os processos, mas apenas suas próprias leituras
55
Ordenação
consistente de
operações
59. Consistência
Casual
“O modelo de consistência causal representa
um enfraquecimento da consistência
sequencial no sentido de que faz uma distinção
entre eventos que são potencialmente
relacionados por causalidade os que não são”
Ordenação
consistente de
operações
59
60. Consistência
Casual
Como entender a causalidade? É simples.
“Se o evento b é causado ou influenciado por um
evento anterior a, a causalidade requer que todos
vejam primeiro a e, depois, b”
Ordenação
consistente de
operações
60
61. Consistência
Casual
Como entender a causalidade? É simples.
“Se o evento b é causado ou influenciado por um
evento anterior a, a causalidade requer que todos
vejam primeiro a e, depois, b”
Diferente de:
“Operações que não estão relacionados por
causada são concorrentes”
Ordenação
consistente de
operações
61
62. Consistência
Casual
Para um depósito de dados ser considerado
consistente por causalidade, é necessário
que ele obedeça à seguinte condição:
Escritas que são potencialmente relacionadas por
causalidade devem ser vistas por todos os
processos na mesma ordem. Escritas concorrentes
podem ser vistas em ordem diferente em
máquinas diferentes.
Ordenação
consistente de
operações
62
66. Consistência
Casual
o Um depósito consistente por causalidade
não requer que escritas concorrentes sejam
ordenadas globalmente;
o A figura (b) reflete uma situação que não
seria aceitável para um depósito
sequencialmente consistente;
Ordenação
consistente de
operações
66
67. “
Implementar consistência causal requer
monitorar quais processos viram quais
escritas. [...] significa que é preciso
construir e manter um gráfico de
dependência que mostre qual operação é
dependente de quais outras operações.
67
69. “
Consistências sequencial e causal são
definidas no nível de operações de
leitura e escrita. Esse nível de
granularidade se deve a razões
históricas: esse modelos [...] foram
implementados no nível de hardware.
69
70. Operações de
agrupamento
É importante compreender que a consistência
sequencial e causal estão diretamente
relacionadas a uma granularidade de leitura e
escrita.
“Em muitos casos, a granularidade fina
desses modelos de consistência não
combina com a granularidade fornecida
pelas aplicações”
Ordenação
consistente de
operações
70
71. Resumo
Os modelos de consistência descritos nesta
seção objetivam fornecer uma visão
consistente de um depósito de dados.
Uma premissa importante é que processos
concorrentes podem estar atualizando o
depósito de dados simultaneamente e que é
necessário prover consistência em face de tal
concorrência.
Ordenação
consistente de
operações
71
72. Resumo
“A capacidade de manipular operações
concorrentes sobre dados compartilhados e, ao
mesmo tempo, manter a consistência
sequencial é fundamental para sistemas
distribuídos”
“Por razões de desempenho, a consistência
sequencial pode ser possivelmente garantida
somente quando processos usam mecanismos
de sincronização tais como transações ou
travas”
Ordenação
consistente de
operações
72
74. Introdução
▫ Os depósitos de dados, presentes nesta seção, se
caracterizam pela ausência de atualizações simultâneas;
▫ Outra característica possível também é a facilidade que
as atualizações podem ser resolvidas;
▫ Os depósitos de dados a seguir, oferecem um modelo
de consistência muito fraca, denominado consistência
eventual;
“Com a introdução de modelos de consistência especiais
centrados no cliente, muitas inconsistências podem ser
ocultadas de modo relativamente barato”
Modelos de
Consistência
Centrados no
Cliente
74
76. Consistência
eventual
“Até que ponto os processo realmente operam de
maneira coerente e até que ponto a consistência
precisa ser garantida são coisa que podem
variar”
Por exemplo:
▫ Sistemas de banco de dados realizam mais leitura
de dados do que atualizações;
▫ Poucos processos realizam operações de
atualização;
▫ Com qual frequência/rapidez as atualizações
devem ser disponibilizadas para processos que
realizem somente leitura?
Modelos de
Consistência
Centrados no
Cliente
76
77. Consistência
eventual
Comum é encontrar poucos (ou único) processos
que possam realizar atualização (tenham
permissão);
Exemplo: sistema de nomeação DNS;
Evita-se conflitos resultantes de duas operações
que querem executar uma atualização sobre os
mesmos dados;
Conflitos escrita-escrita;
Necessita de atenção para um processo que
deseja atualizar um item de dados enquanto
outro está tentando ler aquele item
simultaneamente;
Conflitos leitura-escrita;
Modelos de
Consistência
Centrados no
Cliente
77
78. Consistência
eventual
“Ocorre que muitas vezes é aceitável
propagar uma atualização de maneira lenta,
o que significa que um processo que está
lendo verá uma atualização só depois de
passado algum tempo da atualização”
Modelos de
Consistência
Centrados no
Cliente
78
79. Consistência
eventual
Inconsistência aceitável
Utilização de cache. O usuário ter acesso a páginas
Web desatualizadas.
O quanto seria aceitável dados de um monitor
cardíaco desatualizados?
O que seria considerado velho uma informação
sobre tropas inimigas avançado por um território em
guerra?
Outros exemplos?
Modelos de
Consistência
Centrados no
Cliente
79
80. Consistência
eventual
Quando tratamos de Consistência Eventual...
“[...] se nenhuma atualização ocorrer por
tempo bastante longo, todas as réplicas ficarão
gradativamente consistentes”
Depósito de dados de consistência eventual
tem a seguinte propriedade:
“[...] na ausência de atualizações todas as
réplicas convergem em direção a cópias
idênticas uma às outras”
Modelos de
Consistência
Centrados no
Cliente
80
81. Consistência
eventual
Problema: acessar réplicas diferentes em curto
período de tempo!
Modelos de
Consistência
Centrados no
Cliente
81
Espera-se que ao mudar de localização se tenha todas as alterações a
disposição, em vez disso, parece que nada aconteceu.
82. Consistência
eventual
▫ Resolução: Introduzir consistência centrada no
cliente.
▫ Garantir consistência de acesso um depósito de
dados, por um único cliente;
“Bayou é um sistema de bando de dados
desenvolvido para computação móvel, no qual a
premissa é que a conectividade de rede é não
confiável e sujeita a vários problemas de
desempenho”
▫ Itens de dados tem um proprietário associado;
▫ O proprietário é o único que tem permissão de
modificar esse item;
▫ Evita-se conflitos de escrita-escrita;
Modelos de
Consistência
Centrados no
Cliente
82
84. Leituras
monotônicas
Leituras monotônicas é um modelo de
consistência centrado no cliente;
Pode ser considerado um depósito dado que
oferece consistência monotônica:
Se um processo ler o valor de um item de
dados x, qualquer operação de leitura
sucessiva de x executada por esse processo
sempre retornará o mesmo valor ou um valor
mais recente.
“Em outras palavras, 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”
Modelos de
Consistência
Centrados no
Cliente
84
87. Escritas
monotônicas
“[...] é importante que operações de escrita sejam
propagadas na ordem correta para todas as
cópias do depósito de dados”
Consistência de Escritas Monotônica
Para um depósito ser considerado consistente
por escrita monotônica, precisa atender a
seguinte condição:
Uma operação de escrita executada por um
processo em um item de dados x é concluída
antes de qualquer operação de escrita
sucessiva em x pelo mesmo processo.
Modelos de
Consistência
Centrados no
Cliente
87
88. “
[...] concluir uma operação de escrita significa
que a cópia na qual uma operação sucessiva
é executada reflete o efeito de uma operação
de escrita anterior executada pelo mesmo
processo, sem importar onde essa operação
foi iniciada.
88
89. Escritas
monotônicas
o Seguindo esta perspectiva, sendo necessário, uma
nova escrita precisará esperar que velhas escritas
sejam concluídas;
o Assim, a consistência de escrita monotônica é
parecida com consistência Fifo centrada em
dados;
o Restrição de ordenação também se aplica a
escrita monotônicas, entretanto esta perspectiva
considera a consistência de apenas um único
processo, em vez de um conjunto de processos
concorrentes;
o Por definição, operações de escrita pelo mesmo
processo são realizadas na mesma ordem em que
são iniciadas;
Modelos de
Consistência
Centrados no
Cliente
89 Importante!
92. Leia-suas-
escritas
▫ Modelo de consistência centro no cliente e que
está intimamente relacionado com leituras
monotônicas;
▫ Um depósito de dados que fornece consistência
leia-suas-escritas precisa validar a seguinte
condição:
▪ O efeito de uma operação de escrita por um
processo no item de dados x sempre será visto
por uma operação de leitura sucessiva em x
pelo mesmo processo;
“[...] uma operação de escrita é sempre concluída
antes de uma operação de leitura sucessiva pelo
mesmo processo, não importando onde essa
operação de leitura ocorrerá”
Modelos de
Consistência
Centrados no
Cliente
92
93. “
A consistência ‘leia-suas-escritas’
pode garantir que, se o editor e o
browser forem integrados em um
único programa, a cache será
invalidade quando a página for
atualizada, de modo que o arquivo
atualizada será buscado e exibido.
93
96. Escritas-
seguem-
leituras
Modelo no qual as atualizações são propagadas
como resultado de operações de leitura precedentes;
Um depósito de dados que provê consistência de
escritas-seguem-leituras, valida a seguinte condição:
Garanta-se que uma operação de escrita por um
processo em um idem de dados x em seguida a
operação de leitura anterior em x pelo mesmo
processo ocorre sobre o mesmo valor, ou sobre o
valor mais recente de x que foi lido.
“Em outras palavras, 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 por esse processo”
Modelos de
Consistência
Centrados no
Cliente
96
99. “
Uma questão fundamental para qualquer
sistema distribuído que suporte replicação
é decidir onde, quando e por quem as
réplicas devem ser posicionadas, e na
sequência quais mecanismos usar para
manter as réplicas consistentes.
99
101. Problemas
Posicionar servidores de réplicas
Refere-se a encontrar as melhores localizações para
colocar um servidor que pode hospedar um depósito
de dados (ou parte dele).
Posicionar conteúdo
Refere-se a achar os melhores servidores para
colocar conteúdo.
Gerenciamento de
Réplicas
101
103. “
O posicionamento de servidores
de réplicas não é um problema
estudado intensivamente pela
simples razão de ser mais uma
questão gerencial e comercial
do que um problema de
otimização.
103
104. Posicionamento
do servidor de
réplicas
Sobre
POSICIONAMENTO DO SERVIDOR DE RÉPLICAS
▫ Deve-se se considerar como ponto de partida a
distância entre cliente e localizações;
▫ A distância pode ser medida em termos de
latência ou largura de banda;
▫ A solução está em selecionar um servidor por vez,
calculando a distância média entre o servidor e
seus clientes, tentando coloca-lo a menor
distância possível;
Gerenciamento de
Réplicas
104
105. Posicionamento
do servidor de
réplicas
Alternativa a primeira solução
POSICIONAMENTO DO SERVIDOR DE RÉPLICAS
▫ Realizar o calculo da distância média é demasiado
custoso;
▫ Alternativa proposta por Randoslavov: ignorar
a posição dos clientes e apenas considerar que a
topologia da Internet é formada pelos sistemas
autônomos;
Gerenciamento de
Réplicas
105
106. Posicionamento
do servidor de
réplicas
Solução Definitiva
POSICIONAMENTO DO SERVIDOR DE RÉPLICAS
▫ Método desenvolvido para identificar
rapidamente uma região para o posicionamento
de réplicas;
▫ Necessário identificar o maiores clusters de nós;
▫ Designa-se um nó de cada cluster para hospedar
o conteúdo replicado;
▫ Células mais densas são selecionadas para
posicionamento de um servidor de réplicas;
Gerenciamento de
Réplicas
106
108. “
[...] um tamanho adequado
para célula pode ser
calculado como uma simples
função da distância média
entre dois nós e do número
de réplicas requeridas.
108
110. “
Quando se trata de replicação
e posicionamento de
conteúdo, podem-se
distinguir três tipos
diferentes de réplicas
organizadas logicamente.
110
111. Replicação e
posicionamento
de conteúdo
Réplicas Permanentes
“Réplicas permanentes podem ser consideradas como o conjunto
inicial de réplicas que constituem um depósito de dados
distribuídos”
Primeiro tipo: relacionado com os arquivos que constituem um
site, que são replicados para um número limitado de servidores que
estão em uma única localização;
Segundo tipo: é denominado espelhamento, é um tipo de
distribuição de site web. O Website é copiado para um número
limitado de servidores, denominados sites espelhados, e estão
geograficamente espalhados pela internet.
“A característica comum entre sites Web
espelhados e sites Web baseados em clusters é
que há apenas um pequeno número de réplicas,
cuja configuração é mais ou menos estática”
Gerenciamento de
Réplicas
111
112. Replicação e
posicionamento
de conteúdo
Réplicas iniciadas por servidor
“Ao contrário de réplicas permanentes, réplicas iniciadas por
servidor são 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”
Considera-se: a partir de um “rajada repentina de requisições” seja
possível instalar uma quantidade de servidores temporários
capazes de auxiliar no provimento do serviço.
“O algoritmo para replicação dinâmica leva em conta duas
questões”
A primeira é que a replicação pode ocorrer para reduzir a carga de
um servidor.
A segunda é que arquivos específicos em um servidor podem ser
migrados ou replicados para servidores posicionados na
proximidade de clientes que emitem muitas requisições para esses
arquivos.
Gerenciamento de
Réplicas
112
113. Replicação e
posicionamento
de conteúdo
Réplicas iniciadas por clientes
“Réplicas iniciadas por clientes são mais conhecidas como caches
(de cliente)”
▫ O gerenciamento do cache é inteiramente do cliente;
▫ O depósito de dados não tem responsabilidade pela
manutenção da consistência dos dados em cache;
▫ Pode haver situações em que o cliente se conecte ao
depósito de dados para receber informações sobre a
idade dos dados em seu cache;
“Caches de cliente são usados somente para melhorar o
tempo de acesso aos dados. [...] quando um cliente quer
acessar alguns dados ele se conecta com a cópia do
depósito de dados mais próxima”
Gerenciamento de
Réplicas
113
115. Atividade
Escreva uma resenha do ponto
7.4.3 Distribuição de conteúdo
a resenha deve ser entregue ao
processo via Moodle até o dia
16/05 às 23h59.
O formato de entrega deverá ser
em processador de texto .doc,
.docx, ou .odt.
115