A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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

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

3 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

4 Cenários  Formas de interação com o BD Basic sign-off Check-out Relaxed check-out

5 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

6 Basic Sign-off  Membro em viagem Cópia (de parte) do BD (laptop) Processamento de transações read-only

7 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

8 Relaxed Check-out  Relaxamento Parte do BD que sofreu a “desmarcação”: read- only (demais membros)

9 Modelo do BD  Sistema distribuído n sites: S 1, S 2,..., S n  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

10 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”

11 Tipos de Desconexão  Não-planejada Considera-se o site desconectado como uma falha  Basic sign-off

12 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

13 Partição do BD

14 Check-out com Leitura Móvel

15 Check-out com Leitura do Sistema

16 Check-out Relaxado

17 Check-out Otimista

18  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

19 Implementação – Basic Sign-off - Desconexão de um site S i -  S i : seleção de um proxy Passagem do poder de voto Poder de votar em nome de outro membro  Proxy de S i Direito de votar (atualizações do BD) Conhecimento da situação de S i (atualizações processadas/não-processadas)

20 Implementação – Basic Sign-off - Reconexão de S i -  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

21 Implementação – Basic Sign-off  Correção Garantida trivialmente

22 Implementação – Check-out - Desconexão -  S i : 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

23 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

24 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

25 Implementação Check-out com Leitura Móvel (ex.)  Correção: garantida pela serialização das transações (t 1, t 2, t 3, t 4 ) (desconexão)

26 Implementação Check-out com Leitura do Sistema (ex.)  Correção: garantida pela serialização das transações (t 2, t 1, t 3, t 4 ) (reconexão)

27 Implementação Check-out Relaxado  Check-out com leitura móvel + acesso em browse mode  Browse mode Sites conectados Itens “desmarcados” Não garante leitura consistente

28 Implementação Check-out Relaxado (ex.)  Correção: não-garantida (dependência cíclica: t 1 e t 5 )

29 Implementação Check-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 (S i ) Ajuda no processo de integração Desmarcação de algumas partes do BD Concordância dos outros sites

30 Implementação Check-out Otimista  Quando S i desmarca um certo conjunto de itens: 1) - Transação em S i que acessar somente itens desmarcados (desconexão)  commit - Reconexão de S i : prioridade de S i (das atualizações feitas por S i ) > prioridade dos outros

31 Implementação Check-out Otimista 2) - Transação em S i que acessar somente itens não-desmarcados  commit - Reconexão de S i : prioridade dos outros > prioridade de S i 3) Transação em S i que acessar ambos conjuntos de itens Commit condicional Possibilidade: roll back e redo

32 Implementação Check-out Otimista  Correção: dependência Da integração (atualizações) Da realização dos roll backs e dos redos

33 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)

34 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

35 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

36 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

37 Implementação (Sistema Assíncrono) Basic Sign-off (Desconexão)  S i solicita um proxy (S j )  S i não aceita mais mensagens epidêmicas (exceção: as de S j ) e vice-versa  S j não realiza mais pré-commits (transações locais)

38 Implementação (Sistema Assíncrono) Basic Sign-off (Desconexão)  S j envia a S i : todos os registros de pré- commits (que acredita que S i não viu) + respectiva informação temporal S i sabe de tudo que S j sabe (antes da desconexão)  S i envia a S j : seus registros de pré-commits + informação temporal S j conhece o estado de S i (atualização de S i na reconexão)  desconexão de S i

39 Implementação (Sistema Assíncrono) Basic Sign-off (Desconexão)  S j : marcação do log de eventos (identificador para S i )  não descartar registros  atualização de S i (reconexão)  S j : (retorno) envio e recebimento de mensagens epidêmicas / proxy de S i

40 Implementação (Sistema Assíncrono) Basic Sign-off (Reconexão)  S i : quem está agindo como S i ?  S j : parar envio/recebimento mensagens epidêmicas / fornecer log de eventos + timetable para S i  (retorno) operações normais  S i : log de eventos e timetable = aos de S j  (retorno) operações normais

41 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 S i (antes da desconexão): envio de todos os itens com um timestamp ∞

42 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 S i  Reconexão S i : 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


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google