Bancos de Dados Móveis Alunos: Douglas Tomaz Machado Leonardo Stahelin Coelho Thiago Luiz Stabile Conteúdo Introdução O que são bancos de dados móveis? Classificação de bancos de dados distribuídos e móveis Problemas Arquiteturas BDs disponíveis Introdução Computação móvel; Necessidade de estar conectado a rede independente da localização; Código móvel: a capacidade do código de migrar entre unidades de rede; Isso tudo serve para as bases de dados: necessidade de clientes móveis acessarem seus bancos de dados de qualquer lugar. O que são bancos de dados móveis? Computação móvel = vários componentes ligados a uma rede sem fio; Rede sem fio está ligada a uma rede fixa; Nesse cenário são implantados um ou mais bancos de dados em unidades dessa rede; Bancos de dados móveis = uma ou mais base de dados acessados por unidades móveis; Cada base de dados está inserida em uma outra unidade de rede. Podendo ser móvel ou não. O que são bancos de dados móveis? Distribuídos; Replicação parcial ou total dos dados; Cada estação base gerência seu próprio BD com as funcionalidades inerentes do SGBD e com funcionalidades adicionais para localizar unidades móveis; Características de gerência de consultas e transações para atender aos requisitos de ambientes móveis. A responsabilidade sobre a gerência de dados é compartilhada entre estações de base e unidades móveis.” Problemas Velocidade dos links sem fio; Escalabilidade; Mobilidade; Localização; Limite do poder das baterias; Desconexões; Replicação/Caching; Arquiteturas Cliente – Servidor Cliente – Agente Servidor – Servidor Cliente – Agente Cliente – Servidor Cliente – Ag. Cliente – Ag. Servidor – Servidor AMDB GSN e Múltiplos Agentes Cliente - Servidor Cliente - Servidor Unidade móvel atua como cliente requisitando serviços de servidores da rede fixa; Divisão das funcionalidades não é muito clara, principalmente em caso de desconexões (cliente precisa emular o servidor para continuar operando); Necessário expandir essa abordagem (otimizações) Cliente – Agente Servidor – Servidor Cliente – Agente Servidor – Servidor O agente “substitui” o cliente móvel na rede fixa; O agente, processa os dados da consulta e só envia o resultado para o cliente, compacta os dados antes do envio, enfileira as respostas quando houver uma desconexão, altera a ordem de transmissão de dados de acordo com a prioridade do cliente; Cliente – Agente Cliente – Servidor Cliente – Agente Cliente – Servidor Amplia funcionalidades nos clientes móveis, como: administração da memória cache, disponibiliza memória progressivamente durante o pouco tráfego da rede, copia parte do BD para a memória do cliente móvel e otimiza a comunicação entre o cliente móvel e a estação base; Cliente – Ag. Cliente – Ag. Servidor – Servidor Cliente – Ag. Cliente – Ag. Servidor – Servidor Une as vantagens dos 2 serviços; Otimizam a comunicação com a redução na quantidade de dados transmitidos na rede sem fio; Melhora na segurança; AMDB Interoperabilidade entre sistemas de banco de dados móveis; Agentes estáticos (cria o contexto de execução, gerencia os recurso, e identificação de serviços); Agentes móveis (transporta os dados de acesso ao BD e os resultados desses acessos); GSN e Múltiplos Agentes Baseada no modelo Cliente – Ag. Cliente – Ag. Servidor – Servidor; GSN – Gateway Support Node; Unidade móvel se comporta como uma unidade fixa; Cria um agente para cada tarefa, dá ao agente os dados necessários. Quando se obtém o resultado o agente retorna ao dispositivo móvel; Heterogeneidade Bancos de dados federados - Coleção de bancos de dados independentes. - Com replicação total/parcial dos dados. - Utiliza mediadores. - Desvantagem: especificação e manutenção do esquema federado. MultiDataBase System -Inclui um componente de software composto de uma coleção de funções globais. - A integração das diferentes fontes de dados é realizada pela linguagem de bancos de dados múltiplos. Disseminação de dados Entrega de dados a partir de um conjunto de produtores para um grande número de clientes. Modelo Push-Based - Envia os dados ao cliente sem esperar requisições específicas. Dados enviados periodicamente (continous queries). Broadcast Disks – faz uma hierarquia dos dados a serem transferidos levando em conta sua prioridade, transmitindo os dados prioritários mais vezes. Disseminação de Dados Modelo Pull-Based - o cliente faz a requisição dos dados de que necessita para o servidor. Modelo Interleaved Push and Pull – Normalmente a melhor solução, enviando dados periodicamente e aceitando algumas requisições de clientes. Tem 2 canais, um para o Push e outro para o Pull de dados. A banda do Pull (backchannel) é ajustada de acordo com o custo de diminuir a banda do Push (frontchannel) Os servidores podem notificar os clientes sobre mudanças nos dados armazenados na cache do cliente de acordo com o rigor necessário na consistência da cache. Disseminação de Dados Hoarding – Quando o dispositivo nota uma possível desconexão inesperada os dados são transferidos para a cache do dispositivo móvel, possibilitando assim a operação durante o período de desconexão. Quando acontece a reconexão do dispositivo móvel é feita a reintegração desses dados. Transações Móveis Uma transação móvel é uma transação distribuída, onde alguma parte da transação é executada na unidade móvel e outra parte em uma unidade fixa. O emprego de conexões sem fio resulta em transações longas, em função dos longos atrasos da rede. A mobilidade resulta em transações que acessam sistemas de informações heterogêneas. Consistência dos Dados Leitura das próprias escritas, qualquer operação de leitura na sessão deve refletir os valores estabelecidos pelas escritas anteriores feitas naquela sessão Propagação de escritas, escritas são propagadas depois das leituras das quais elas dependem e depois das escritas que as precederam logicamente. Consistência dos Dados Método escrow - divide as instâncias dos itens do banco de dados entre os clientes móveis. Quando o dispositivo móvel vai fazer uma alteração ele requisita essa alteração no servidor que seleciona parte do objeto e estabelece algumas condições de consistência. Esta parte do objeto fica indisponível para outros dispositivos móveis. Banco de dados disponíveis Sybase Ultralite Banco de Dados Oracle Lite 10g DB2 Everyplace Microsoft SQL Server CE Sybase Ultralite Leve, enxuto; Kernel de processamento anexado ao programa executável; Multi-plataforma; Mobilink: qualquer modificação feita no database central é espelhada no dispositivo móvel, e vice-versa, controle de transações e integridade referencial com robustez. Oracle Lite 10g DB2 Everyplace Distribuido pela IBM; Instalação simples; Fácil integração com sistemas já existentes; Escalabilidade. Microsoft SQL Server CE Suportado pelos sistemas operacionais da linha Windows Mobile; Fácil integração com o SQL Server; Suporta até 2 giga de armazenamento. Estudo de Caso – DB2 Everyplace Empresa pública brasileira; Aumento da satisfação de clientes e redução nos preços de manutenção; Economia de 600 mil dólares; Conectar os técnicos de campos com ordens críticas guardadas no servidor principal; Solução disparava ordens para mais de 500 técnicos com aparelhos móveis. Fonte: ftp://ftp.software.ibm.com/software/data/pubs/demos/db2e-transcript.pdf Conclusão Importância de novos estudos; Aumento significante de dispositivos móveis conectados a alguma rede; Grande variedade de produtos; Área em constante crescimento.