1 / 32

Ana Karina de Oliveira Rocha

PicoDBMS: Scaling down Database Techniques for the Smartcard Christophe Bobineau, Luc Bouganin, Philippe Pucheral, Pratick Valduriez. Ana Karina de Oliveira Rocha. Roteiro. Motivação Problemática Desafios Armazenamento Custo de Armazenamento Processamento de Consultas

zenia-chang
Download Presentation

Ana Karina de Oliveira Rocha

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PicoDBMS: Scaling down Database Techniques for the SmartcardChristophe 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 Valores Relação S Relação R

  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 Index R.a Relação R Indice em R.a Valores Select Index ... Where R.a=“v1”

  15. Armazenamento • Estrutura de índice em Anel – Join Index R.b Relação R S.a Relação S 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.

More Related