Sistemas de Gerência de Bancos de Dados 7- Outras Arquiteturas para SGBDs 7.6 - SGBDs para Estações Móveis 1 Tópicos Alternativas para Disseminação de Dados Push-based Technologies Bancos de Dados Móveis 2 Alternativas para Disseminação de Dados Formas de Disseminação: Pull-only: controle da disseminação dos dados é do cliente: servidor só envia dados ao cliente em resposta a uma consulta do cliente desvantagens: servidores são continuamente interrompidos consultas limitadas à informação que os clientes conhecem Push-only: controle da disseminação dos dados é dos servidores: servidores enviam dados aos clientes sem serem consultados servidores podem utilizar alguma forma de perfil dos usuários para decidir o que e quando enviar dados Hybrid mode: combina os modos anteriores forma de consulta contínua: cliente envia a primaira consulta ao servidor servidor subsequentemente envia dados aos clientes 3 Alternativas para Disseminação de Dados Freqüência de Disseminação: Periódica Condicional Ad-hoc ou irregular ( para o caso de pull-only) Formas de Comunicação: Unicast servidor envia dados para 1 cliente Multicast servidor envia dados para vários clientes 4 Push-based Tecnologies Motivação: falta de conhecimento dos dados armazenados nos servidores clientes podem conhecer a organização de apenas uma parte dos dados armazenados nos servidores assimetria de comunicação cliente-servidor: assimetria do meio assimetria na quantidade: servidores são em número bem menor do que os clientes assimetria no volume de dados: dados enviados do servidor para o cliente são em muito maior volume do que no sentido contrário volatilidade dos dados: em certas situações, a organização dos dados armazenados nos servidores pode mudar com freqüência, dificultado a formulação explícita de consultas 5 Push-based Tecnologies Freqüência de Disseminação: Flat disk schedule: re-envia "páginas" a intervalos regulares interessante quando todas as páginas são alteradas regularmente os clientes acessam as páginas com freqüência Skewed schedule: re-envia as "hot pages" com mais freqüência do que as outras, de forma randômica Multi-disk schedule: re-envia as "hot pages" com mais freqüência do que as outras, a intervalos regulares 6 Push-based Tecnologies Exemplo de Multi-disk Schedule: 1 2 3 1 1 2 4 5 2 3 4 5 1 6 7 4 5 3 6 7 1 intervalos de importância 8 9 10 11 6 7 8 9 2 1 8 9 7 10 11 3 10 11 agrupamento por faixa de freqüência ciclo de envio Push-based Technologies Gerência do Cache dos Clientes: Problema: as "hot pages" do servidor não necessariamente são as "hot pages" do cliente dependendo do método de disseminação, as "hot pages" do servidor serão enviadas ao cliente com mais freqüência Solução: dê preferência às páginas que são localmente "hot" e globalmente "cold" 8 Push-based Technologies Gerência do Cache dos Clientes: PIX Algorithm: custo de obter uma página P: C[P] = probabilidade de acesso / freqüência de envio estratégia: descarte do cache a página de menor custo, quando necessário LIX Algorithm: mantenha as páginas em várias listas encadeadas, uma para cada faixa de freqüência de envio ordene cada lista por LRU das páginas no final das filas (menos freqüentemente utilizadas), escolha aquela de menor custo 9 Push-based Technologies Propagação de Atualizações: Problema: consistência dos caches nos clientes em presença de atualizações Alternativas: serialização: atualizações e gerência dos caches são sincronizadas da forma clássica oportunista: acesse qualquer cópia que estiver disponível última versão: sempre acesse a versão mais recente quasi-caching: acesse a versão disponível no cache dentro de uma certa tolerância periódica: atualize todas as versão em períodos regulares 10 Bancos de Dados Móveis Características: topologia: um backbone fixo com estações de controle também fixas conjunto de células nas quais transitam as estações móveis localização dos dados: dados residem tanto nas estações fixas quanto nas móveis ("walkstations") célula célula backbone fixo célula célula 11 Bancos de Dados Móveis Manutenção do Diretório: Problema: como localizar as estações móveis que contêm os dados desejados Alternativas: armazenar a localização da estação móvel apenas nas sua estação de base distribuir a informação sobre a localização das estações móveis pre-anunciar o roteiro de cada estação móvel Caching: Problema: limite da bateria da estação móvel impõe restrições sobre o grau de caching Alternativas: mover consultas para estações fixas, transferindo apenas resultados adotar filtros semânticos mais sofisticados para reduzir o tamanho do cache 12 Bancos de Dados Móveis Processamento de Consultas: aplicações podem envolver consultas cuja semântica dependente da localização das estações móveis dados no cache podem se tornar obsoletos porque a estação mudou de localização a mobilidade das estações torna mais difícil definir funções de custo adequadas e, consequentemente, criar otimizadores eficientes as restrições na banda passante da rede e o uso de técnicas de cache tornam o problema ainda mais complicado 13 Bancos de Dados Móveis Gerência de Transações: Problema: estações móveis podem passar longo tempo disconectadas, logo soluções tradicionais, como 2PC e 2PL, não são alternativas adequadas banda passante e confiabilidade da rede são limitadas Alternativas: técnicas baseadas nos conceitos de transações aninhadas em que as subtransações respeitam as limitações das estações móveis técnicas de replicação assíncrona 14