AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner...
-
Upload
liliana-betty-conceicao-cruz -
Category
Documents
-
view
213 -
download
0
Transcript of AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner...
![Page 1: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/1.jpg)
AJAX – Adaptive Join Algorithm for Extreme
Restrictions
SBBD 2007Eriko Werbet
Angelo BraynerUniversidade de Fortaleza
Instituto Atlântico
![Page 2: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/2.jpg)
Motivação Computação Móvel Bancos de Dados + Mobilidade Mobilidade + Restrições = Atraso Técnicas Convencionais são Ineficientes Processamento de Consultas Adaptativo Definição de Operadores Adaptativos
![Page 3: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/3.jpg)
Objetivos
Implementar um algoritmo de junção capaz de executar operações de junção de forma eficiente, num ambiente com suporte à mobilidade.
Este algoritmo deve adaptar-se dinamicamente às restrições do ambiente.
![Page 4: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/4.jpg)
Mobilidade e Bancos de Dados Ambiente de
Computação Móvel Redes ad hoc Mobilidade Física e
Lógica (Agentes) Desafios Soluções
![Page 5: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/5.jpg)
Bancos de Dados Móveis Autônomos Heterogêneos Distribuídos
![Page 6: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/6.jpg)
A Arquitetura AMDB Acesso a Bancos de
Dados Móveis Comunidade de
Bancos de Dados Móveis
Interoperabilidade Agentes Móveis x
Estáticos
![Page 7: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/7.jpg)
O Agente Executor Acesso aos Membros da CBDM Consultas Coordenador do Protocolo 2PC Operações de Junção
![Page 8: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/8.jpg)
O Algoritmo AJAX Adaptive Join Algorithm
for Extreme Restrictions
Simetria Pipelining Buckets Dinâmicos Comparação
Progressiva Prevenção de Estouro
de Memória
![Page 9: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/9.jpg)
Simetria Tratar as fontes de dados de maneira
independente, por meio de multithreading. Evitar o bloqueio ou atraso na execução da
junção.
![Page 10: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/10.jpg)
Buckets Dinâmicos Comparação de buckets com o mesmo
“endereço” hash, em tabelas opostas. Buckets com tamanho variável implicam em
mais flexibilidade, pois não precisamos tratar bucket overflow.
Buckets podem acumular mais tuplas antes de iniciar o probing.Melhor adaptação à Comparação Progressiva.
Baixo overhead de manipulação.
![Page 11: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/11.jpg)
Pipelining Suprimento de tuplas para
operadores mais altos na hierarquia da consulta.
Recebimento de tuplas de operadores mais baixos.
Padrão recursivo implica em pseudo-paralelismo na execução da consulta, ou seja, diminuição no tempo de resposta.
![Page 12: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/12.jpg)
Comparação Progressiva Comparação cíclica dos
buckets. Cada par de buckets é
comparado e somente o conteúdo numa iteração “i” é considerado.Tuplas subseqüentes serão comparadas numa iteração “i + 1”.
Comparação e Hashing contínuo das tuplas.
![Page 13: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/13.jpg)
Last Probe Remembrance Cada tupla do bucket
Alfa “lembra” a última tupla do bucket Beta (bucket oposto) que foi comparada com ela.
Evita Duplicatas. Evita Comparações
Desnecessárias.
![Page 14: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/14.jpg)
Prevenção de Estouro de Memória A granularidade observada passa do nível de
bucket para o nível do sistema computacional.
Monitoramento da memória do sistema. Escolha de um ou vários pares de buckets
para descarregamento em disco. Minimal memory limit: limite de memória que
garante a execução da junção.
![Page 15: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/15.jpg)
Fases de Execução Primeira Fase Fase de execução
normal do AJAX
Segunda Fase Executada quando
ocorre EOF ou quando as fontes estão em retardo.
O recebimento continua, mas a comparação passa a usar buckets em disco.
![Page 16: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/16.jpg)
AJAX em PseudocódigoProcedure TupleArrival (tuple t, sources (A, B))Begin1. If t exceeds the minimal memory limit (a) Choose two buckets Ax and Bx. (b) Probe buckets Ax and Bx. (c) Flush buckets Ax and Bx. (d) Deallocate Ax and Bx.2. Calculate the hash of t. 3. Insert t in the correct bucket.EndProcedure ProgressiveProbing (buckets (A i, Bi), pages (PAi, PBi))Begin1. If buckets Ai or Bi got a new tuple t (a) Probe t with all tuples with position index lower than its LPR. (b) Update the LPR of all probed tuples with the position index of t. (c) Update the result stream. 1.1 If sources are blocked (a) Probe Ai with all disk pages with index less than its LPR. (b) Probe Bi with all disk pages with index less than its LPR. (c) Probe page PAi with all disk pages with index less than its LPR. (c) Probe page PBi with all disk pages with index less than its LPR. (d) Update the LPR of the involved tuples. (e) Update the result stream.End
![Page 17: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/17.jpg)
Resultados Experimentais Eficácia Eficiência
![Page 18: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/18.jpg)
Testes de Eficácia
![Page 19: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/19.jpg)
Eficiência: AJAX versus XJoin
![Page 20: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/20.jpg)
Eficiência: AJAX x HMJ (1/2)
![Page 21: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/21.jpg)
Eficiência: AJAX x HMJ (2/2)
![Page 22: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/22.jpg)
Conclusão AJAX garante: Produção incremental de tuplas-resultado Continuidade da execução da consulta
mesmo com fontes bloqueadas Reação proativa em caso de estouro de
memória
![Page 23: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/23.jpg)
Trabalhos Futuros
Aperfeiçoamento da Tabela Hash do AJAX Definição de uma nova função hash Pesquisa de estruturas de dados mais
adaptadas ao contexto do AJAX
![Page 24: AJAX – Adaptive Join Algorithm for Extreme Restrictions SBBD 2007 Eriko Werbet Angelo Brayner Universidade de Fortaleza Instituto Atlântico.](https://reader035.fdocuments.in/reader035/viewer/2022070508/570638701a28abb8239074af/html5/thumbnails/24.jpg)
Agradecimentos CNPq Universidade de Fortaleza Instituto Atlântico Angelo Brayner, Dr-Ing. José de Aguiar, M.Sc. A todos que tornaram este projeto possível!