1 picodbms: scaling down database techniques for the smartcard christophe bobineau, luc bouganin,...
TRANSCRIPT
1
PicoDBMS: Scaling down Database Techniques for
the Smartcard
Christophe Bobineau, Luc Bouganin, Philippe Pucheral, Pratick Valduriez
Ana Karina de Oliveira Rocha
2
Roteiro• Motivação• Problemática• Desafios• Armazenamento• Custo de Armazenamento• Processamento de Consultas• Comentários Finais• Referências Bibliográficas
3
Motivação• Proliferação de dispositivos portáteis.
−Celulares−PDAs−Cartões inteligentes (Smart cards)
• Acesso de serviços independente da sua localização física.−Aplicações nas áreas de telefonia celular,
bancárias, de transportes, de saúde, de identificação pessoal e de finanças.
4
Motivação• Os cartões inteligentes são modernos e
seguros.• Número cada vez maior de aplicações
utilizam cartões inteligentes.• Os cartões inteligentes fornecem grande
mobilidade devido ao seu tamanho reduzido.
5
Motivação• Vantagens dos cartões inteligentes:
−São bastante flexíveis.−São recarregáveis.−São multioperacionais.
• Quanto a forma de comunicação os cartões inteligentes podem ser de dois tipos:−Cartões com contato−Cartões sem contato
6
Problemática• Os Cartões inteligentes possuem
limitações computacionais.−Possuem uma CPU.−Memória RAM (4KB – 128 KB).−Memória ROM – 96 KB.−Memória EEPROM (128 KB – 1MB).
• Tempo de leitura rápido (60-100 ns)• Tempo de escrita lento (10 ms/palavra)
7
Problemática• Os cartões inteligentes possuem as maiores
restrições de recursos computacionais.• As técnicas de banco de dados tradicionais
não podem ser diretamente aplicadas em ambientes com recursos computacionais limitados.
• Como baixar a escala das técnicas tradicionais de banco de dados?
8
Problemática• Técnicas tradicionais
−Armazenamento:• Possuem várias estruturas de índices• Possuem valores repetidos
−Consumo de memória
9
Problemática• Técnicas tradicionais
−Processamento de Consultas• Alto consumo de memória• Armazenamento de resultados
intermediários• Materialização• Estruturas temporárias guardadas na
memória−Ex: índices
10
Desafios• Diminuir o espaço ocupado pelas
estruturas de dados (índices, tuplas, etc.)
• Diminuir uso da memória RAM• Diminuir as operações de escrita • Aproveitar eficiência de operações
de leituras
11
Armazenamento• Armazenamento Seqüencial (FS)
−Simplicidade−As tuplas são armazenadas em seqüência;
• Problemas−1. Consumo de espaço – valores de atributos
duplicados−2. Ineficiente – Ausência de índices -> busca
seqüencial• Adição de índices resolve o 2 problema
ao mesmo tempo que agrava o 1.
12
Armazenamento• Armazenamento por domínio (DS)
−Ausência de valores duplicados−Uso de apontadores em atributos
v1v2v3v4
Relação R
Valores
Relação S
13
Armazenamento• Armazenamento em anel (RS)
−Redução das estruturas de índices−Formação de anel: valor -> atributos ->
valor−Semelhança com armazenamento por
domínio
14
Armazenamento• Estrutura de índice em anel – Select
IndexRelação R
Valores
R.aIndice em R.a
v1v2v3v4
Select Index...Where R.a=“v1”
15
Armazenamento• Estrutura de índice em Anel – Join
IndexRelação R
Relação S
R.bS.a
Join Index...Where R.b=S.a
16
Custo de Armazenamento• Se os atributos não precisam ser
indexados a escolha deve ser feita entre o FS e o DS. Caso contrário,
• A escolha deve ser feita entre por RS e FS com índices tradicionais.
17
Custo de Armazenamento• A Figura abaixo compara FS com DS
18
Custo de Armazenamento• A Figura abaixo compara FS com RS
19
Processamento de Consultas• Modelos tradicionais consomem muita
memória principal armazenando estrutura de dados temporários e resultados intermediários.
• Quando a memória principal não é suficiente eles recorrem a materialização para evitar overflow de memória.
20
Processamento de Consultas• Algoritmos tradicionais não podem ser
usados no PicoDBMS:−1. Lentidão da escrita na memória.−2. Não se pode estimar previamente o tamanho
de uma área específica de RAM a ser utilizada.−3. No estado da arte os algoritmos são bastante
sofisticados.• No PicoDBMS - Código simples, compacto
e seguro.
21
Processamento de Consultas• Para resolver estes problemas o
PicoDBMS propõe técnicas de consulta que não utilizam nenhuma área de RAM, nem escrevem na memória estável.−1. Consultas Básicas - Seleção, projeção e
junção−2. Consultas Complexas - Agregação,
ordenação e remoção
22
Processamento de Consultas• No modelo tradicional o processo de
Consultas é feito em 2 passos:−1. O “otimizador” gera planos de
otimização de execução de consultas (QEP).
−2 O QEP é executado para uma consulta que implementa um modelo de execução e usa bibliotecas de operadores relacionais.
23
Processamento de Consultas• O “otimizador” pode usar diferentes
formas de QEP:−1. Árvore de profundidade à esquerda.−2. Árvore de profundidade à direita.
24
Processamento de Consultas• Árvore de profundidade à esquerda
− Os operadores são executados seqüencialmente e cada resultado intermediário é materializado.
25
Processamento de Consultas• Árvore de profundidade à direita
− Os operadores são executados em pipeline evitando que resultados intermediários sejam materializados.
26
Processamento de Consultas• Problema: Eles requerem materialização
em memória para todas as relações da esquerda.
27
Processamento de Consultas Básicas • O PicoDBMS propõe usar somente
pipeline em todos os operadores. Ex: árvore de extrema profundidade à direita.
28
Processamento de Consultas Complexas• Problema: Pipeline não é compatível com os
operadores de seleção e remoção de duplicatas, pois
classicamente os seus resultados intermediários são materializados.
29
Processamento de Consultas Complexas• O picoDBMS explora duas propriedades:• 1. Agregação e remoção de duplicatas podem
ser feitos em pipeline se: As tuplas de entrada já estiverem agrupadas por valores distintos.
• 2. Operadores pipeline preservam a ordem desde que eles consumam ou produzam tuplas na sua ordem de chegada.
30
Processamento de Consultas Complexas• Existe um problema na solução proposta pelo
PicoDBMS:− Para construir uma Árvore de extrema profundidade à
direita o processador de consultas do PicoDBMS viola uma heurística para a otimização de consultas relacionais.
• PicoDBMS possui um processamento de consultas dispendioso, manipulando uma maior quantidade de dados e consumindo muito tempo no processamento dos dados.
31
Considerações Finais• Existência do Sql Java Machine - pequeno
e completo SGBD, menor que 8KB que fornece as linguagens de definição de dados (DDL) e de manipulação de dados (DML).
32
Referências• 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.
• Pré-Calculo de Junções para Processamento Consultas em Ambientes com Recursos Computacionais Limitados. Tathianne Moreira Paulino. Orientador: Dr. Angelo Brayner. Dissertação de Mestrado – UFC, 2004.