Bancos de Dados Móveis MAC 5743 Computação Móvel Flávia Rainone - [email protected] 1 Computação Móvel Novo paradigma que altera premissas importantes em várias áreas da computação. Redes Engenharia de Software Precisam ser ubíquas, com configuração dinâmica. Código móvel. Bancos de dados Acesso a qualquer dado em qualquer lugar e qualquer momento. Flávia Rainone - [email protected] 2 Bancos de Dados Móveis Rede de Computadores Móveis Unidades Móveis Unidades Fixas Estações de Bases Um ou mais bancos de dados Em qualquer unidade Flávia Rainone - [email protected] 3 Bancos de Dados Móveis Características comumente encontradas: Autonomia Heterogeneidade Distribuição Acesso de um host móvel a um banco de dados (residindo em um host móvel ou fixo). Computador móvel pode ser cliente ou servidor de uma requisição. Flávia Rainone - [email protected] 4 Bancos de Dados Móveis Flávia Rainone - [email protected] 5 Fatores e Consequências Velocidade dos links Escalabilidade Mobilidade Localização Poder das baterias Desconectividade Replicação/Caching Handoff Aplicações Transações desconexão Replicação Novos modelos Recuperação Localização e contexto desconexão Consultas Localização e custo. Flávia Rainone - [email protected] 6 Bancos de Dados Móveis Arquiteturas Flávia Rainone - [email protected] 7 Cliente-Servidor UM Cliente Comunicação Sem fio ou APP Unidade Servidora SGDB Híbrida Flávia Rainone - [email protected] BD 8 Cliente-AgenteServ- Servidor REDE SEM FIO REDE FIXA UM Cliente Unidade APP Agente Servidor Flávia Rainone - [email protected] Unidade Servidora SGDB BD 9 Cliente-AgenteC- Servidor REDE SEM FIO REDE FIXA UM Cliente APP Unidade Servidora Agente Cliente SGDB Flávia Rainone - [email protected] BD 10 Cliente-AgenteC-AgenteServServidor REDE SEM FIO UM Cliente APP Agente Cliente REDE FIXA Unidade Agente Servidor Flávia Rainone - [email protected] Unidade Servidora SGDB BD 11 AMDB UM UM1 APP EXECUTOR ADMINISTRADOR MANTENEDOR SGDB CARREGADOR BD Flávia Rainone - [email protected] UM2 12 Múltiplos Agentes e GSN Flávia Rainone - [email protected] 13 Bancos de Dados Móveis Heterogeneidade Flávia Rainone - [email protected] 14 Integração Bancos de dados federados. Arquitetura dos mediadores. Bancos de Dados Múltiplos (Multidatabase System – MDBS) Multidatabase Language (MDL). Flávia Rainone - [email protected] 15 Bancos de Dados Móveis Envio de Dados Flávia Rainone - [email protected] 16 Disseminação de Dados Push-based systems Relevância de dados. Solução: o cliente se inscreve para receber dados de seu interesse. Periodicidade. Broadcast Disks Essencial uso de cache e prefetching. Pull-based systems Flávia Rainone - [email protected] 17 Disseminação de Dados Interleaved Push and Pull Ajuste da banda do backchannel e no frontchannel. Apenas cobrir as perdas mais caras. Invalidation Reports Granularidade. Quanto rigor é necessário na consistência do cache? Flávia Rainone - [email protected] 18 Hoarding CARGA ANTECIPADA DE DADOS (HOARDING) REINTEGRAÇÃO OPERAÇÕES DESCONECTADAS Flávia Rainone - [email protected] 19 Hoarding Coda Gerenciador de cache – Venus Hoard walking Seer Escolha automática. Observação do usuário e inferências (Observer) Distância semântica (Correlator). Flávia Rainone - [email protected] 20 Bancos de Dados Móveis Transações Flávia Rainone - [email protected] 21 Transações Ambiente multi-usuário Aplicações locais e remotas Falhas constantes e intermitência Computação Móvel + Heterogeneidade ≠ Atomicidade Entrelaçamento Divisão de Transações Mudança freqüente de dados. Flávia Rainone - [email protected] 22 Transações Móveis Transação distribuída, onde alguma parte da computação é executada no host móvel e outra em um host fixo. Transações longas Necessidade de maior grau de cooperação entre as transações. Flávia Rainone - [email protected] 23 Consistência dos Dados Sessão Divisão de instâncias entre os clientes leia as suas escritas, leituras monotônicas, propagação de escritas, escritas monotônicas. Generalização: estudo da semântica de objetos e divisão de objetos complexos. Tentativas de Transações Certification Reports Isolations Only Transactions (IOT). Flávia Rainone - [email protected] 24 Bancos de Dados Móveis Localização Flávia Rainone - [email protected] 25 Buscas e Localização Buscar por informações de hotel na região em que se encontra. Buscar por um hospital próximo ao usuário. Buscar por X, Y e Z de forma que eles se situam no mesmo endereço e Y está entre X e Z. Flávia Rainone - [email protected] 26 Buscas e Localização Custo de comunicação muito alto. Estratégias: ingênuas: lentidão. completa: problema NP-Completo. uso de heurísticas gulosas. Integração do GPS ao IP. URL dinâmica e documentos dinâmicos. Flávia Rainone - [email protected] 27 Bancos de Dados Móveis Interface com o usuário Flávia Rainone - [email protected] 28 Interfaces com o Usuário A variedade de tamanhos de telas também influi na área de bancos de dados móveis. Como exibir os dados de melhor maneira possível. Query By Icons (QBI). Linguagem visual. Modelo semântico. Ferramentas MetaQuery. Flávia Rainone - [email protected] 29 Bancos de Dados Móveis Na prática Flávia Rainone - [email protected] 30 Alguns Bancos Disponíveis Sybase Ultralite Oracle Lite Mobile Server DB2 Everyplace Microsoft SQL Server CE Flávia Rainone - [email protected] 31 J2ME Dispositivos CDC JDBC Optional Package Subconjunto do JDBC. Extensões não padronizadas para melhorar performance e produtividade. Dispositivos MIDP Não suporta alguns tipos básicos do SQL. RMS (Record Management System) não é adequado para aplicações de porte empresarial. Soluções proprietárias desenvolvidas sobre o RMS. Flávia Rainone - [email protected] 32 J2ME Sincronização Soluções proprietárias para sincronização Falta de padrão. Não é eficiente para atualizações freqüentes. Acesso direto Exposição de serviços SQL através de um Gateway Screen Scrapping para acesso de bancos de dados legados. Flávia Rainone - [email protected] 33 Bancos de Dados Bibliografia Flávia Rainone - [email protected] 34 Bibliografia WCSF2002 – Minicurso 1 “Acesso a Bancos de Dados Móveis”, Angelo Brayner. “Banco de Dados para um Ambiente de Computação Móvel”, Sérgio da Costa Cortes e Sérgio Lifschitz. “Mobile Computing and Database – A Survey”, Daniel Barbará. “Location Dependent Data and its Management in Mobile Databases”, Margaret H. Dunham e Vijay Kumar. Flávia Rainone - [email protected] 35 Bibliografia “Mobile Computing: Data Management Issues”, Alfredo Goñi e Arantza Illarramendi. Proposta de Dissertação de Mestrado “Operações Desconectadas em Dispositivos Móveis”, Mariano Cravo Teixeira Neto. “Enterprise J2ME: Developing Mobile Java Applications”, Michael Juntao Yuan Flávia Rainone - [email protected] 36