Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGiulia Rodrigo Alterado mais de 9 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.