Estendendo o algoritmo Partition Based Spatial Merge Join com partições adaptáveis por Miguel Rodrigues Fornari Prof. Cirano Iochpe Sumário 1. Introdução 2. Algoritmos semelhantes: PBSM (Patel e DeWitt), SHJ (Lo e Ravishankar), SBSSJ (Arge et all) 3. PBSM-NRQB 4. Comparação 5. Conclusão e trabalhos futuros Geoinfo 2003 2 Introdução • Operação de junção espacial entre dois conjuntos de objetos utilizando um predicado espacial – Duas etapas: filtragem e refinamento • Algoritmos baseados em subdivisão do espaço, sem utilização de índices – PBSM, SHJ, SBSSJ, SSSJ • Baseados em árvores-R e outras Geoinfo 2003 3 Introdução • PBSM-NRQB – Não há replicação de pares de objetos no conjunto resposta – Histogramas armazenados em quadtrees orientam o particionamento do espaço – Arquivo hash, dividido em buckets, armazena os MBRs dos objetos. Geoinfo 2003 4 Partition Based Spatial Merge • Características – O método de divisão é rígido – As células são alocadas a partições sem contigüidade. – O cálculo do número de partições não prevê a existência de objetos transpassantes – Ocorrência de reparticionamentos – Objetos transpassantes são replicados • respostas duplicadas, que devem ser eliminadas Geoinfo 2003 5 Spatial Hash Join • Características – A divisão baseia-se em um conjunto, podendo ser inadequada para o segundo conjunto – Há objetos transpassantes no conjunto B, mas não há pares duplicados na resposta – O número de partições é alto, aumentando o fator de replicação • Reduz (elimina) reparticionamentos Geoinfo 2003 6 Sweep Based Scalable Spatial Join • Duas etapas – Ordenação externa dos arquivos. – Algoritmo baseado em sweep-line para verificar o predicado de junção. • Ordenação externa representa um custo importante. Geoinfo 2003 7 PBSM-NRQB • No-Replication – Não há duplicação de pares de objetos no conjunto de respostas • Quadtree – Armazena um conjunto de histogramas da distribuição de objetos no espaço – Inclui informação estatística • Buckets – Há um arquivo hash auxiliar Geoinfo 2003 8 PBSM-NRQB • Construção de histogramas da distribuição dos objetos, mantidos em quadtrees (HistQ) – Na carga de objetos Geoinfo 2003 9 PBSM-NRQB • Construção de um arquivo hash de descritores de objetos organizado em buckets – Descritor: OID, envelope, ponteiro para o objeto – Uma quadtree de n níveis divide o espaço por uma grade regular. – Para cada célula no nível das folhas há um bucket – Uma cópia do descritor é armazenada em cada bucket cuja célula é intersecionada pelo objeto Geoinfo 2003 10 PBSM-NRQB • As partições são definidas de acordo com a distribuição dos objetos – Define uma grade irregular, adaptada a cada operação de junção espacial Geoinfo 2003 11 PBSM-NRQB Geoinfo 2003 12 PBSM-NRQB • Carregar para memória os buckets correspondentes • Verificar o predicado de junção para pares de objetos • Gravar o conjunto de respostas Geoinfo 2003 13 PBSM-NRQB • Evitar duplicações no conjunto de respostas !" !" !" !" Geoinfo 2003 14 Comparação analítica • O número de operações de E/S previsto é o menor entre os quatro algoritmos – PBSM: (2.o.fr2+ 2.fr+1)(bA+ bB )+ 2.bRR + bRS • 0 <= overflow <= 1 • fr >= 1 – SHJ: 3bA +(1+2 frB)bB + bRS • fr em cada algoritmo é um valor diferente – SBSSJ: 3 (bA+ bB )+ 2 (bA+ bB ) logM (bA+ bB )+ bRS Geoinfo 2003 15 Comparação analítica • PBSM-NRQB – bquadA+bquadB + (2 ofr2+fr)(bA+bB)+bRS – A leitura das HistQ é um custo muito pequeno – A ocorrência de algum overflow é difícil 12 10 8 δ=1 6 δ=2 4 δ=3 2 δ=4 Valor do overflow (o ) 100% 90% 80% Geoinfo 2003 70% 60% 50% 40% 30% 20% 10% 0 0 SBSSJ: Valores máximos para o fator de replicação α 16 Testes realizados • Dois conjuntos artificiais 500 K objetos Particionamento 300 K objetos Geoinfo 2003 17 Testes realizados • Número de operações de E/S, variando o tamanho do buffer Número de operações de E/S 40000 30000 2 Mb 20000 4 Mb 8 Mb 10000 0 Quad-Join PBSM SSBSJ SHJ Algoritmo Geoinfo 2003 18 Testes realizados • Tempos obtidos – Dois conjuntos de 100K objetos Tempo de resposta 2 1,5 1 0,5 0 NRQB SHJ SSBSJ PBSM Algoritmo Geoinfo 2003 19 Conclusão • A incorporação de estatísticas espaciais e um arquivo hash demonstrou ser útil: – O algoritmo proposto realiza menor número de operações de E/S e tem menor tempo de resposta. Geoinfo 2003 20 Trabalhos futuros • Dúvidas quanto ao tamanho ideal de buffer e o número de partições – A redução do número de E/S não compensa o aumento do tempo de ordenação de conjuntos maiores de objetos. – Qual o ponto ótimo? • Comparação com R-Trees Geoinfo 2003 21 Perguntas • Contato: – [email protected] Geoinfo 2003 22