42
Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Embed Size (px)

Citation preview

Page 1: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Modos de Desconexão para BD’s MóveisSandberg Marcel Santos

Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Page 2: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Índice Sistema Considerado Cenários Modelo do BD Tipos de Desconexão Implementação Implementação (Sistema Assíncrono)

Page 3: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Sistema Considerado Banco de dados distribuído Pequena equipe (laptops) Replicação do BD nos laptops: sim/não Redes ad hoc com/sem fio Capacidade de atualização do BD

Não-necessidade de conexão com um computador fixo

Desconexões planejadas/não-planejadas

Page 4: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Cenários Formas de interação com o BD

Basic sign-off Check-out Relaxed check-out

Page 5: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Basic Sign-off Desconexão por longos períodos de tempo

(ex.: viagem) Deve-se informar aos demais membros da

equipe Continuação do processamento de atualizações no

BD Ausência do processador

Não por falha Desconexão voluntária

Page 6: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Basic Sign-off Membro em viagem

Cópia (de parte) do BD (laptop) Processamento de transações read-only

Page 7: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Check-out “Desmarcação” de parte do BD Demais membros

Completamente inacessível Membro desconectado

Acesso total Outras partes: read-only

Retorno Sincronização e integração automáticas

Page 8: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Relaxed Check-out Relaxamento

Parte do BD que sofreu a “desmarcação”: read-only (demais membros)

Page 9: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Modelo do BD Sistema distribuído

n sites: S1, S2, ..., Sn

BD completamente replicado Interação dos usuários: invocação de

transações em qualquer site Transparência: múltiplas cópias físicas uma

única cópia lógica Transações: atomicidade

Page 10: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Modelo do BD Controle de concorrência (two-phase locking) Equipe

Número fixo de membros Desconexão freqüente Rede ad hoc

Ausência de alguns membros: possibilidade de atualizações

Participantes com mesmo “peso”

Page 11: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Tipos de Desconexão Não-planejada

Considera-se o site desconectado como uma falha Basic sign-off

Page 12: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Tipos de Desconexão Check-out

Partição do BD Check-out com leitura móvel Check-out com leitura do sistema Check-out relaxado Check-out otimista

Page 13: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Partição do BD

Page 14: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Check-out com Leitura Móvel

Page 15: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Check-out com Leitura do Sistema

Page 16: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Check-out Relaxado

Page 17: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Check-out Otimista

Page 18: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Check-out Otimista Assume-se, de maneira otimista

Não-ocorrência de atualizações conflitantes Integração das atualizações conflitantes (na

reconexão dos sites desconectados) Regras pré-definidas

Page 19: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação – Basic Sign-off - Desconexão de um site Si - Si: seleção de um proxy

Passagem do poder de voto Poder de votar em nome de outro membro

Proxy de Si

Direito de votar (atualizações do BD) Conhecimento da situação de Si (atualizações

processadas/não-processadas)

Page 20: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação – Basic Sign-off - Reconexão de Si - Contatar o proxy

Proxy desconectado: determinação do novo proxy (mensagens em broadcast)

Determinar as atualizações necessárias Retirar o poder de voto do proxy

Page 21: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação – Basic Sign-off Correção

Garantida trivialmente

Page 22: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação – Check-out - Desconexão - Si: seleção de um proxy Ao mesmo tempo: realização de uma pseudo-

transação (obtenção dos write locks em um certo conjunto de itens) Write locks: bloqueio de itens do BD Pseudo-transação: transação para a obtenção de

write locks

Page 23: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação – Check-out - Reconexão - Idêntica à do basic sign-off, exceto

Transmissão dos novos valores dos itens Liberação dos write locks

Page 24: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação – Check-out Regras (desconexão/reconexão) válidas para

todas as variações Correção da partição do BD

Garantida trivialmente

Page 25: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

ImplementaçãoCheck-out com Leitura Móvel (ex.)

Correção: garantida pela serialização das transações (t1, t2, t3, t4) (desconexão)

Page 26: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

ImplementaçãoCheck-out com Leitura do Sistema (ex.)

Correção: garantida pela serialização das transações (t2, t1, t3, t4) (reconexão)

Page 27: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

ImplementaçãoCheck-out Relaxado Check-out com leitura móvel + acesso em

browse mode Browse mode

Sites conectados Itens “desmarcados” Não garante leitura consistente

Page 28: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

ImplementaçãoCheck-out Relaxado (ex.)

Correção: não-garantida (dependência cíclica: t1 e t5)

Page 29: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

ImplementaçãoCheck-out Otimista Problema

Atualizações conflitantes (necessidade de integração)

Roll back (reconexão) Sugestão: regras baseadas em check-out

Site que está desconectando (Si) Ajuda no processo de integração Desmarcação de algumas partes do BD Concordância dos outros sites

Page 30: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

ImplementaçãoCheck-out Otimista Quando Si desmarca um certo conjunto de

itens:1) - Transação em Si que acessar somente itens

desmarcados (desconexão) commit - Reconexão de Si: prioridade de Si (das

atualizações feitas por Si) > prioridade dos outros

Page 31: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

ImplementaçãoCheck-out Otimista2) - Transação em Si que acessar somente itens não-

desmarcados commit - Reconexão de Si: prioridade dos outros >

prioridade de Si

3) Transação em Si que acessar ambos conjuntos de itens Commit condicional Possibilidade: roll back e redo

Page 32: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

ImplementaçãoCheck-out Otimista Correção: dependência

Da integração (atualizações) Da realização dos roll backs e dos redos

Page 33: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono) Redes distribuídas com congestionamento e

atrasos Execução local das transações

incorporação assíncrona dos efeitos em cópias remotas do BD

Não-necessidade de todos os sites estarem conectados (simultaneamente, em algum momento)

Page 34: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono) Comunicação epidêmica

Periodicamente: contato entre membros e troca de informações

Comunicação par-a-par: disseminação das atualizações por todo o sistema

Page 35: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono)SGBD distribuído epidemic-based Controle de concorrência (two phase locking) Transação t (momento do commit): escreve-se

um registro de pré-commit em um log de eventos

Propagação do registro (comunicação epidêmica)

Outros membros: sincronização

Page 36: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono)SGBD distribuído epidemic-based Cada membro

Vector clock: ordem causal dos eventos (pré-commits)

2D timetable (matrix clock): conhecimento mais recente sobre os eventos (de todos os membros) Inclusa em todas mensagens epidêmicas

Page 37: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono)Basic Sign-off (Desconexão) Si solicita um proxy (Sj) Si não aceita mais mensagens epidêmicas

(exceção: as de Sj) e vice-versa Sj não realiza mais pré-commits (transações

locais)

Page 38: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono)Basic Sign-off (Desconexão) Sj envia a Si: todos os registros de pré-commits

(que acredita que Si não viu) + respectiva informação temporal Si sabe de tudo que Sj sabe (antes da desconexão)

Si envia a Sj: seus registros de pré-commits + informação temporal Sj conhece o estado de Si (atualização de Si na

reconexão) desconexão de Si

Page 39: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono)Basic Sign-off (Desconexão) Sj: marcação do log de eventos (identificador

para Si) não descartar registros atualização de Si (reconexão)

Sj: (retorno) envio e recebimento de mensagens epidêmicas / proxy de Si

Page 40: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono)Basic Sign-off (Reconexão) Si: quem está agindo como Si? Sj: parar envio/recebimento mensagens

epidêmicas / fornecer log de eventos + timetable para Si (retorno) operações normais

Si: log de eventos e timetable = aos de Sj (retorno) operações normais

Page 41: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono)Check-out Variações de check-out: implementações

similares Ex.: check-out com leitura móvel

Desconexão Por definição: tentativa de atualização de um item

(se há uma transação concorrente conflitante) abort de todos os registros de pré-commits

Si (antes da desconexão): envio de todos os itens com um timestamp ∞

Page 42: Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi

Implementação (Sistema Assíncrono)Check-out Desconexão (cont.)

∞ incomparável com qualquer timestamp: abort de todas as transações de leitura ou atualização de itens de Si

Reconexão Si: envio de mensagem epidêmica com todos os

itens e com um timestamp normal Site é o mesmo (registro conflitante com o valor

∞) sobrescrição do log atualização dos itens