Você está na página 1de 35
Bancos de Dados Móveis Luís Eduardo Adson Muniz Wilian Farago 56583 53591 58439
Bancos de Dados Móveis Luís Eduardo Adson Muniz Wilian Farago 56583 53591 58439

Bancos de Dados Móveis

Luís Eduardo Adson Muniz Wilian Farago

Luís Eduardo Adson Muniz Wilian Farago
Luís Eduardo Adson Muniz Wilian Farago

56583

53591

58439

Bancos de Dados Móveis Luís Eduardo Adson Muniz Wilian Farago 56583 53591 58439
Computação Móvel Novo paradigma que altera premissas importantes em várias áreas da computação. – Redes
Computação Móvel Novo paradigma que altera premissas importantes em várias áreas da computação. – Redes

Computação Móvel

Computação Móvel Novo paradigma que altera premissas importantes em várias áreas da computação. – Redes Precisam

Novo paradigma que altera premissas importantes em várias áreas da computação.

Redes

Precisam ser ubíquas, com configuração dinâmica.

Engenharia de Software

Código móvel.

Bancos de dados

Acesso a qualquer dado em qualquer lugar e qualquer momento.

Bancos de Dados Móveis Rede de Computadores Móveis – Unidades Móveis – Unidades Fixas –
Bancos de Dados Móveis Rede de Computadores Móveis – Unidades Móveis – Unidades Fixas –

Bancos de Dados Móveis

Bancos de Dados Móveis Rede de Computadores Móveis – Unidades Móveis – Unidades Fixas – Estações

Rede de Computadores Móveis

Unidades Móveis

Unidades Fixas

Estações de Bases

Um ou mais bancos de dados

Em qualquer unidade

Bancos de Dados Móveis Características comumente encontradas: – Autonomia – Heterogeneidade – Distribuição
Bancos de Dados Móveis Características comumente encontradas: – Autonomia – Heterogeneidade – Distribuição

Bancos de Dados Móveis

Bancos de Dados Móveis Características comumente encontradas: – Autonomia – Heterogeneidade – Distribuição

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.

Bancos de Dados Móveis
Bancos de Dados Móveis

Bancos de Dados Móveis

Bancos de Dados Móveis
Bancos de Dados Móveis
Fatores e Consequências Velocidade dos links Escalabilidade Mobilidade Localização Poder das baterias
Fatores e Consequências Velocidade dos links Escalabilidade Mobilidade Localização Poder das baterias

Fatores e Consequências

Fatores e Consequências Velocidade dos links Escalabilidade Mobilidade Localização Poder das baterias

Velocidade dos links Escalabilidade Mobilidade Localização Poder das baterias Desconectividade Replicação/Caching Handoff

Aplicações

Localização e contexto

Transações

Novos modelos

Recuperação

desconexão

Replicação

desconexão

Consultas

Localização e custo.

Bancos de Dados Móveis Arquiteturas
Bancos de Dados Móveis Arquiteturas

Bancos de Dados Móveis

Arquiteturas

Bancos de Dados Móveis Arquiteturas
Cliente-Servidor UM Unidade Cliente Comunicação Sem fio ou Servidora APP SGDB BD Híbrida
Cliente-Servidor UM Unidade Cliente Comunicação Sem fio ou Servidora APP SGDB BD Híbrida

Cliente-Servidor

UM Unidade Cliente Comunicação Sem fio ou Servidora APP SGDB BD Híbrida
UM
Unidade
Cliente
Comunicação
Sem fio
ou
Servidora
APP
SGDB
BD
Híbrida
Cliente-AgenteServ- Servidor REDE SEM FIO REDE FIXA UM Unidade Unidade Cliente Servidora Agente APP SGDB
Cliente-AgenteServ- Servidor REDE SEM FIO REDE FIXA UM Unidade Unidade Cliente Servidora Agente APP SGDB

Cliente-AgenteServ- Servidor

Cliente-AgenteServ- Servidor REDE SEM FIO REDE FIXA UM Unidade Unidade Cliente Servidora Agente APP SGDB BD
REDE SEM FIO REDE FIXA UM Unidade Unidade Cliente Servidora Agente APP SGDB BD Servidor
REDE SEM FIO
REDE FIXA
UM
Unidade
Unidade
Cliente
Servidora
Agente
APP
SGDB
BD
Servidor
Cliente-AgenteC- Servidor REDE SEM FIO REDE FIXA UM Unidade Cliente Servidora Agente APP SGDB BD
Cliente-AgenteC- Servidor REDE SEM FIO REDE FIXA UM Unidade Cliente Servidora Agente APP SGDB BD

Cliente-AgenteC- Servidor

REDE SEM FIO REDE FIXA UM Unidade Cliente Servidora Agente APP SGDB BD Cliente
REDE SEM FIO
REDE FIXA
UM
Unidade
Cliente
Servidora
Agente
APP
SGDB
BD
Cliente
Cliente-AgenteC-AgenteServ- Servidor REDE SEM FIO REDE FIXA UM Unidade Unidade Cliente Servidora Agente Agente
Cliente-AgenteC-AgenteServ- Servidor REDE SEM FIO REDE FIXA UM Unidade Unidade Cliente Servidora Agente Agente

Cliente-AgenteC-AgenteServ-

Servidor

REDE SEM FIO REDE FIXA UM Unidade Unidade Cliente Servidora Agente Agente APP SGDB BD
REDE SEM FIO
REDE FIXA
UM
Unidade
Unidade
Cliente
Servidora
Agente
Agente
APP
SGDB
BD
Cliente
Servidor
Múltiplos Agentes e GSN
Múltiplos Agentes e GSN

Múltiplos Agentes e GSN

Múltiplos Agentes e GSN
Múltiplos Agentes e GSN
Bancos de Dados Móveis Heterogeneidade
Bancos de Dados Móveis Heterogeneidade

Bancos de Dados Móveis

Heterogeneidade

Bancos de Dados Móveis Heterogeneidade
Integração Bancos de dados federados. Arquitetura dos mediadores. Bancos de Dados Múltiplos (Multidatabase System
Integração Bancos de dados federados. Arquitetura dos mediadores. Bancos de Dados Múltiplos (Multidatabase System

Integração

Integração Bancos de dados federados. Arquitetura dos mediadores. Bancos de Dados Múltiplos (Multidatabase System

Bancos de dados federados. Arquitetura dos mediadores. Bancos de Dados Múltiplos (Multidatabase System – MDBS)

Multidatabase Language (MDL).

Bancos de Dados Móveis Envio de Dados
Bancos de Dados Móveis Envio de Dados

Bancos de Dados Móveis

Envio de Dados

Bancos de Dados Móveis Envio de Dados
Disseminação de Dados Push-based systems – Relevância de dados. – Solução: o cliente se inscreve
Disseminação de Dados Push-based systems – Relevância de dados. – Solução: o cliente se inscreve

Disseminação de Dados

Disseminação de Dados Push-based systems – Relevância de dados. – Solução: o cliente se inscreve para

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

Disseminação de Dados Interleaved Push and Pull – Ajuste da banda do backchannel e no
Disseminação de Dados Interleaved Push and Pull – Ajuste da banda do backchannel e no

Disseminação de Dados

Disseminação de Dados Interleaved Push and Pull – Ajuste da banda do backchannel e no frontchannel.

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?

Hoarding CARGA ANTECIPADA DE DADOS (HOARDING) OPERAÇÕES REINTEGRAÇÃO DESCONECTADAS
Hoarding CARGA ANTECIPADA DE DADOS (HOARDING) OPERAÇÕES REINTEGRAÇÃO DESCONECTADAS

Hoarding

CARGA ANTECIPADA DE DADOS (HOARDING) OPERAÇÕES REINTEGRAÇÃO DESCONECTADAS
CARGA
ANTECIPADA DE
DADOS
(HOARDING)
OPERAÇÕES
REINTEGRAÇÃO
DESCONECTADAS
Hoarding Coda – Gerenciador de cache – Venus – Hoard walking Seer – Escolha automática.
Hoarding Coda – Gerenciador de cache – Venus – Hoard walking Seer – Escolha automática.

Hoarding

Hoarding Coda – Gerenciador de cache – Venus – Hoard walking Seer – Escolha automática. –

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

Bancos de Dados Móveis Transações
Bancos de Dados Móveis Transações

Bancos de Dados Móveis

Transações

Bancos de Dados Móveis Transações
Transações Ambiente multi-usuário Aplicações locais e remotas – Entrelaçamento Falhas constantes e
Transações Ambiente multi-usuário Aplicações locais e remotas – Entrelaçamento Falhas constantes e

Transações

Transações Ambiente multi-usuário Aplicações locais e remotas – Entrelaçamento Falhas constantes e

Ambiente multi-usuário Aplicações locais e remotas

Entrelaçamento

Falhas constantes e intermitência Computação Móvel + Heterogeneidade Atomicidade

Divisão de Transações

Mudança freqüente de dados.

Transações Móveis Transação distribuída, onde alguma parte da computação é executada no host móvel e
Transações Móveis Transação distribuída, onde alguma parte da computação é executada no host móvel e

Transações Móveis

Transações Móveis Transação distribuída, onde alguma parte da computação é executada no host móvel e outra

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.

Consistência dos Dados Sessão – leia as suas escritas, leituras monotônicas, propagação de escritas, escritas
Consistência dos Dados Sessão – leia as suas escritas, leituras monotônicas, propagação de escritas, escritas

Consistência dos Dados

Consistência dos Dados Sessão – leia as suas escritas, leituras monotônicas, propagação de escritas, escritas

Sessão

leia as suas escritas, leituras monotônicas, propagação de escritas, escritas monotônicas.

Divisão de instâncias entre os clientes

Generalização: estudo da semântica de objetos e divisão de objetos complexos.

Tentativas de Transações Certification Reports Isolations Only Transactions (IOT).

Bancos de Dados Móveis Localização
Bancos de Dados Móveis Localização

Bancos de Dados Móveis

Localização

Bancos de Dados Móveis Localização
Buscas e Localização Buscar por informações de hotel na região em que se encontra. Buscar
Buscas e Localização Buscar por informações de hotel na região em que se encontra. Buscar

Buscas e Localização

Buscas e Localização Buscar por informações de hotel na região em que se encontra. Buscar por

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.

Buscas e Localização Custo de comunicação muito alto. Estratégias: – ingênuas: lentidão. – completa:
Buscas e Localização Custo de comunicação muito alto. Estratégias: – ingênuas: lentidão. – completa:

Buscas e Localização

Buscas e Localização Custo de comunicação muito alto. Estratégias: – ingênuas: lentidão. – completa:

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.

Bancos de Dados Móveis Interface com o usuário
Bancos de Dados Móveis Interface com o usuário

Bancos de Dados Móveis

Interface com o usuário

Bancos de Dados Móveis Interface com o usuário
Interfaces com o Usuário A variedade de tamanhos de telas também influi na área de
Interfaces com o Usuário A variedade de tamanhos de telas também influi na área de

Interfaces com o Usuário

Interfaces com o Usuário A variedade de tamanhos de telas também influi na área de bancos

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.

Bancos de Dados Móveis Na prática
Bancos de Dados Móveis Na prática

Bancos de Dados Móveis

Na prática

Bancos de Dados Móveis Na prática
Alguns Bancos Disponíveis Sybase Ultralite Oracle Lite Mobile Server DB2 Everyplace Microsoft SQL Server CE
Alguns Bancos Disponíveis Sybase Ultralite Oracle Lite Mobile Server DB2 Everyplace Microsoft SQL Server CE

Alguns Bancos Disponíveis

Alguns Bancos Disponíveis Sybase Ultralite Oracle Lite Mobile Server DB2 Everyplace Microsoft SQL Server CE

Sybase Ultralite Oracle Lite Mobile Server DB2 Everyplace Microsoft SQL Server CE

J2ME Dispositivos CDC – JDBC Optional Package Subconjunto do JDBC. Extensões não padronizadas para melhorar
J2ME Dispositivos CDC – JDBC Optional Package Subconjunto do JDBC. Extensões não padronizadas para melhorar

J2ME

J2ME Dispositivos CDC – JDBC Optional Package Subconjunto do JDBC. Extensões não padronizadas para melhorar

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.

J2ME Sincronização – Soluções proprietárias para sincronização – Falta de padrão. – Não é eficiente
J2ME Sincronização – Soluções proprietárias para sincronização – Falta de padrão. – Não é eficiente

J2ME

J2ME Sincronização – Soluções proprietárias para sincronização – Falta de padrão. – Não é eficiente

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.

Perguntas???
Perguntas???

Perguntas???

Perguntas???
Bibliografia WCSF2002 – Minicurso 1 “Acesso a Bancos de Dados Móveis”, Angelo Brayner. “Banco de
Bibliografia WCSF2002 – Minicurso 1 “Acesso a Bancos de Dados Móveis”, Angelo Brayner. “Banco de

Bibliografia

Bibliografia WCSF2002 – Minicurso 1 “Acesso a Bancos de Dados Móveis”, Angelo Brayner. “Banco de Dados

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.

Bibliografia “Mobile Computing: Data Management Issues”, Alfredo Goñi e Arantza Illarramendi. Proposta de
Bibliografia “Mobile Computing: Data Management Issues”, Alfredo Goñi e Arantza Illarramendi. Proposta de

Bibliografia

Bibliografia “Mobile Computing: Data Management Issues”, Alfredo Goñi e Arantza Illarramendi. Proposta de

“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