SGBD Para Celulares

Propaganda
SGBD Para
Dispositivos
Limitados*
Camilo Porto
Bruno Alexandre
Roteiro
Introdução
 Problemática
 Desafios
 Armazenamento
 Processamento de consultas
 Conclusões
 Referências bibliográficas

Introdução
Introdução

Proliferação de dispositivos móveis
 PDAs,
Celulares, Smart Cards;
Processamento Móvel da Informação;
 Acesso contínuo à informação,
independente do local físico;

 Informações
negócios;
pessoais, financeiras, médicas,
Introdução

Tecnologia móvel nas empresas
 Vendas,
trabalho de campo, saúde
Necessidade de computação em todo
lugar (Pervasive Computing)
 Aumento da complexidade/volume das
informações

Introdução
Eficiência no armazenamento da
informação;
 Eficiência na recuperação da informação;
 Segurança;

SGBD para dispositivos móveis
Problemática
Problemática


Dispositivos Móveis => Limitações de
Hardware/Software
RAM
Cards – Alguns KB (4Kb – 128Kb)
 PDAs e Celulares – Alguns MB
 Smart

Memória estável
Cards – (128Kb – 1MB)
 PDAs e Celulares – (1MB – 512MB)
 Smart
Problemática
Baixa performance na escrita em memória
estável;
 Eficiência na leitura;
 Autonomia de energia;

Problemática
SGBD => Software complexo
 Técnicas convencionais => Inviabilidade
Como baixar escala das técnicas
convencionais?
Foco: Armazenamento & Processamento
de Consulta

Problemática

Técnicas Convencionais:
 Armazenamento
Várias estruturas de índices => Consumo de
memória
 Valores repetidos => Consumo de memória
 Uso de cache (diminuir I/O) => Consumo de RAM

Problemática

Técnicas Convencionais:
 Processamento
de Consulta
Alto consumo de memória
 Armazenamento de resultados intermediários
 Materialização
 Estruturas temporárias em memória (índices,
ordenação, etc.)

Problemática

Outros problemas
 Sincronização
 Usabilidade
 Dentre
outros...
Desafios
Desafios
Diminuir espaço ocupado por estruturas
de dados (índices, tuplas, etc.)
 Diminuir uso de memória RAM
 Diminuir operações de escrita (lento)
 Aproveitar eficiência de operações de
leituras

Armazenamento
Armazenamento

Armazenamento Seqüencial
 Simplicidade
 Tuplas armazenadas

em seqüência;
Problemas
Consumo de espaço – valores de atributos
duplicados
 2. Ineficiente – Ausência de índices => busca
seqüencial
 1.

Adição de índices resolve o 2º problema ao
mesmo tempo que agrava o 1º...
Armazenamento

Armazenamento por domínio
 Ausência
de valores duplicados
 Uso de apontadores em atributos
Valores
Relação R
v1
v2
v3
v4
Relação S
Armazenamento

Armazenamento por domínio
 Compactação
de dados (ausência de valores
duplicados)
 Facilidade de gestão de memória (tuplas com
tamanhos fixos)
Armazenamento
Armazenamento por domínio
 Desvantagens

 Overhead
nas operações
insert/delete/update;
 Valores únicos (chaves, por exemplo)
 Valores menor que tamanho da palavra de
memória
Solução?
Armazenamento

Combinação Seqüencial + Domínio
 Valores
únicos => seqüencial;
 Valores < tamanho da palavra => seqüencial;
 Valores > tamanho da palavra => domínio
(simplifica gestão de memória)
Problema: estruturas de índices
Armazenamento

Armazenamento em anel
 Redução
de estruturas de índices;
 Formação de anel: valor => atributos => valor
 Semelhança com armazenamento por
domínio;
Armazenamento

Estrutura de índice em anel – Select Index
R.a
Indice em R.a
Valores
Relação R
v1
v2
v3
v4
Select Index
...
Where R.a=“v1”
Requisito de espaço para o índice: 1 apontador/valor
Armazenamento

Armazenamento em anel
 Overhead
de projeção – percorrer anel
Armazenamento

Estrutura de índice em Anel – Join Index
R.b
S.a
Relação S
Join Index
...
Where R.b=S.a
Relação R
Requisito de espaço para o índice: 1 apontador/valor
Armazenamento

Estrutura de índice em Anel
 Junções
efetuadas em Chaves
(freqüentemente)
 Chaves => armazenamento seqüencial;
Processamento de consulta
Processamento de Consulta

Problemas e Restrições
O
estado da arte em Q.P. não pode ser usado
em SGBDs móveis;
 Não se pode estimar quantidade de memória
que será utilizada;
 Devido a restrição de escrita e tempo de vida
da memória utilizada, condena-se uso de
write e materialization.
Processamento de Consulta

Soluções
 Os
SGBDs existentes (Sybase Everywehere,
Oracle lite, DB2 EveryPlace), não resolvem o
problema da restrição de Memória principal;
 Framework (operadores) para Query
evaluators voltado para dispositivos com
restrições de RAM.
Processamento de Consulta

Framework operadores
 Expressões
utilizadas: Execution without
RAM, RAM Lower Bound model (RLB)
 Armazenamento interfere na execução de
planos de consulta (uso de índice ou não);
 Algoritmos dos operadores devem seguir
alguns princípios;
Proc. de Consulta (sem índice)

Hipóteses
 H1:
Arquivos de dados on-board são
sequenciais (baixo desempenho);
 H2: Consultas não aninhadas;
 H3: Dispositivos autônomos;
 H5: Armazenamento em memória eletrônica
tipo EEPROM.
Proc. de Consulta (sem índice)

Regras de design
 R1:
Proibido uso de E.D. de tamanho variável;
 R2: Nunca Armazene informação que pode ser
recomputada (no materialization);
 Unicidade
 Completude
 Operador possui três primitivas: open, close e next.
Proc. de Consulta (sem índice)

Algoritmos
 Compartilham
R2)
estrutura de dados: DataFlow (R1 e
Proc. de Consulta (sem índice)

Algoritmos (select)
Proc. de Consulta (sem índice)

Algoritmos (GBY.open)
Proc. de Consulta (sem índice)

Algoritmos (GBY.next)
Proc. de Consulta (sem índice)

Algoritmos (GBY)
 Tipos:
CompMin, CompMax e IterMin
 Otimização: Diminuir avaliação de tuplas irrelevantes
através da utilização de filtros.
Proc. de Consulta (sem índice)

Algoritmos (GRY - filtros)
 Definição:
Relevant tuples, required tuples e
Irrelevant tuples;
 Quanto mais o algoritmo que evitar required tuples e
irrelevant tuples, melhor será.
Proc. de Consulta (sem índice)

Avaliação de desempenho
 Esquema:
R, S, T e U
Proc. de Consulta (sem índice)

Avaliação de desempenho
SGBD Para Dispositivos Limitados

Referências



Memory Requirements for Query Execution in Highly
Constrained Devices. Anciaux N., Bougamin L. andPucheral
P.Int. Conf. on Very Large Data Bases (VLDB), 2003.
PicoDBMS: Scaling down Database Techniques for the
Smartcard. Christophe Bobineau, Luc Bouganim, Philippe
Pucheral and Patrick Valduriez.Proceedings of the 26th
International Conference on Very Large Databases, Cairo,
Egypt, 2000.
IBM DB2 Everyplace, Version 8.1.Interactive Management
Software Inc.
Download