Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLavínia Verdugo Alterado mais de 10 anos atrás
1
Data Replication and Resiliency Trabalho realizado por: Rui Ferreira Nº 15039 Eng. Informática
2
Aspectos Gerais Acções atómicas em sistemas distribuídos Replicação de dados Estratégias de gestão de replicas Aproximação Optimista Versão de Vectores Aproximação Pessimista Local Primary Replicação Activa Votação
3
Acções Atómicas em Sistemas Distribuídos Uma acção é uma operação lógica que acede ou modifica objectos de dados. Objectivo de uma acção atómica: Assegurar que ou as acções são completadas com sucesso ou não são executadas de todo O estado de acções parcialmente executadas nunca devem ser visíveis, mesmo em caso da ocorrência de falhas Queremos que as acções sejam sobreviventes (resilient) a falhas.
4
Replicação de Dados Objectivo da replicação: suportar tolerância a falhas (replicações não devem ser visíveis) Operações nos dados lógicos são mapeados para as várias cópias dos dados. Deve assegurar o critério de one-copy serializable Isto será garantido através dos algoritmos de controlo de replica Todas as cópias do mesmo dado lógico devem estar no mesmo estado mútuo de estado de consistência Os algoritmos de controlo de replica são também denominados por algoritmos de controlo de consistência.
5
Replicação de Dados Tipos de avarias que têm de ser controladas pelos algoritmos de controlo de replica num sistema distribuído: Avarias nos nós Avarias de comunicação Como as avarias em nós afectam o comportamento do sistema? enquanto uma cópia do dado permanecer acessível a operação pode ser terminada Ao que leva no caso de ocorrerem avarias na comunicação? Partição da rede: os nós restantes são particionados em grupos, onde só podem comunicar com os nós do mesmo grupo. Num grupo a consistência das replicas pode ser preservado O critério de one-copy serializable pode ser violado
6
Métodos de controlo de replica Para evitar esta violação é necessário que sejam impostas restrições no processamento nas diferentes partições. Os métodos de controlo de replica podem ser: Optimistas: sem restrições, resolve as inconsistências depois de voltar ao estado normal Pessimistas: restrições no processamento
7
Abordagem Optimista Durante uma partição de rede, se operações são executadas independentemente, as cópias dos dados nas diferentes partições podem ficar inconsistentes Quando as partições se reúnem,tais inconsistências têm de ser detectadas e resolvidas, se possível Uma aproximação usada para detectar tais inconsistências é a versão de vectores (version vectors) Version Vectors Ficheiros são tratados como os objectos de dados básicos e são a unidade de replicação
8
Abordagem Optimista Um ficheiro f pode ter várias cópias, todas em nós diferentes Quando é actualizado o ficheiro f, todas as cópias acessíveis a partir do nó que fez o pedido são actualizadas Cada cópia de um ficheiro tem um vector versão associado com tamanho n, onde n é o numero de locais onde o ficheiro foi guardado O vector versão de uma cópia do ficheiro representa o nº de actualizações originadas em diferentes nós que foram executadas nesta cópia
9
Abordagem Optimista Relação entre dois vectores: Dominante: V[i] > V[i]‘, para todo i = 1..n • Os estados das duas cópias não são iguais (inconsistência) Conflito: nenhum vector domina o outro • Isto representa que as cópias sofreram diferentes actualizações Soluções: Se um Vector é dominante em relação a outro vector, a inconsistência pode ser resolvida copiando o ficheiro com a versão V para o vector V’ Se duas cópias entram em conflito, cabe ao gestor do sistema fazer o que for necessário
10
Exemplo de Versão de Vectores Apenas detecta inconsistências devido à actualização Não detecta conflitos de read-write
11
Abordagem pessimista Numa aproximação pessimista iremos abordar uma estratégia de gestão de réplicas: Primary Site Approach
12
Primary Site Approach O objectivo desta aproximação é continuar a fornecer acesso aos dados mesmo que ocorram avarias em algum(ns) nó(s) ou na comunicação O sistema deve ser capaz de distinguir avarias nos nós e avarias na comunicação para controlar o particionamento Para suportar k-resilient data, os dados têm de ser replicados em pelo menos k+1 nós Um dos nós que possui os dados são designados por primary e os outros por backups Todos pedidos para operações nos dados são enviados para o local primary
13
Primary Site Approach Se o pedido é de leitura: O local primary executa a operação e retorna os resultados ao processo que fez o pedido Se o pedido é de actualização: Antes de executar a actualização, o local primary envia o pedido de actualização a pelo menos k backups Quando todos os backups receberem o pedido, o primary executa a operação e devolve o resultado Todos os backups executam a operação de actualização que receberam do primary Os dados nos backups estão no mesmo estado que no primary
14
Primary Site Approach Um método alternativo para reduzir a computação nos backups é de: o primary periodicamente faz uma verificação (checkpoint) do estado dos dados nos backups Com isto, os backups apenas precisam de executar as operações após a verificação feita pelo primary
15
Primary Site Approach O que acontece em caso de avarias: Se mais de k locais falharem simultaneamente, nada pode ser feito, dado que o grau de replicação é apenas de k+1 Nó backup: O serviço não é interrompido Nó Primary: Um novo primary tem de ser eleito. Continua os pedidos depois de acabar o(s) actual(is) pedido(s) ou continua a partir do checkpoint
16
Primary Site Approach Partição da Rede: A partição com o nó primary continua a servir pedidos originados nessa partição Pedidos feitos noutras partições não podem ser resolvidas Este método só funciona se avarias de nós podem ser distinguidas de partições da rede
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.