Universidade Federal de Campina Grande Mestrado em Informtica
- Slides: 30
Universidade Federal de Campina Grande Mestrado em Informática Indexando XML Banco de Dados e Internet - 2004 Professor: Cláudio Baptista Mestrando: Rômulo Nunes
Conteúdo da Apresentação ® Introdução – Necessidade de Indexação ® Indexação XML com Listas ® Indexação XML com Árvores ® As Pesquisas no mundo ® Conclusão 2 21: 45
Necessidade de Indexação ® SGBDs precisam buscar informações; ® XML são arquivos; ® Precisamos de um acesso rápido e eficiente às informações; ® Quais as soluções existentes para esse acesso eficiente e rápido? 3 21: 45
Indexação XML usando Listas ® Indicada para casos mais simples; ® Essa solução indexa apenas um nível na árvore do documento; ® Tem um custo inicial com a ordenação prévia da lista; ® É eficiente e mais barata dependendo do contexto do sistema. 4 21: 45
Indexação XML usando Listas <? xml version="1. 0" ? > <agenda> <contato Nome=”Ana Paula da Silva”> <Endereço> Rua Zacarias de Azevedo, 323 Prado Visualização do nível da árvore que vamos indexar </Endereço> <Telefone> 323 -3310 </Telefone> <Telefone> 9991 -3817 </Telefone> </contato>. . . <contato Nome=”Zelda Cavalcante”> <Endereço> Av. Monte Castelo, 2522 </Endereço> <Telefone> 231 -2233 5 21: 45 </Telefone> . . . <contato Nome=”Zelda Cavalcante”> <Endereço> Av. Fernandes Lima, 2522 </Endereço> <Telefone> 231 -2233 </Telefone> </contato> </agenda> . . .
Indexação XML usando Listas Contato 1 Ana Paula 6 21: 45 Contato 2 Cláudia Contato 3 Débora Contato n. . . Zelda
Indexação XML usando Listas Para ordenar uma lista basta aplicarmos qualquer método da estrutura de dados. O Método de Hoare, também conhecido como Quick Sort é um dos mais rápidos. Depois de Ordenado é fácil aplicar, por exemplo, o método de busca binário para encontrar um determinado elemento da lista. 7 21: 45 Problemas: Gasto com o tempo para organizar; Só atende a estrutura XML para um nível; Não se pode aplicar esse método para buscas complexas.
Indexação XML com Árvores ® Passos a serem seguidos ® Codificar a árvore em uma sequênçia estruturada (Structure-Encoded Sequence) ® Codificar também a consulta 8 21: 45
Exemplo de uma árvore XML 9 21: 45
Consultas XML 10 21: 45 Procurar todos os fabricantes que fornecem itens Procurar compras com Vendedor Boston e comprador NY Procurar compras com Boston como comprador ou vendedor Procurar compras que contêm produtos intel
Uma representação sequencial dos dados XML de uma árvore n 11 21: 45 n Considere de v 1 a v 8 o conjunto de variáveis que representam respectivamente cada valor folha da árvore percorrida em pre-ordem. Percorrendo a árvore em pre-ordem temos a representação: PSINv 1 Mv 2 IMv 3 INv 4 Lv 5 Nv 6 BLv 7 Nv 8
Sequência Estruturada Codificada ® Uma sequência estruturada codificada é uma sequência de tuplas do tipo (simbolo_atual, prefixo). D = (a 1, p 1), (a 2, p 2), …, (an, pn) ® Para a árvore do slide anterior temos: D = (P, ), (S, P), (I, PS), (N, PSI), (v 1, PSIN), (M, PSI), (v 2, PSIM), (I, PSI), (M, PSII), (v 3, PSIIM), (I, PS), (N, PSI), (v 4, PSIN), (L, PS), (v 5, PSL), (N, PS), (v 6, PSN), (B, P), (L, PB), (v 7, PBL), (N, PB), (v 8, PBN) ® 12 21: 45 Percorrer a árvore em pre-ordem garante uma codificação onde nós vizinhos sempre estarão próximos.
Sequência Estruturada Codificada ® Consultas (incluindo consultas ramificadas, e consultas com caracteres coringas ‘*’ ou ‘//’) podem ser convertidos para uma sequência estruturada codificada.
Exemplos ®D = (P, ), (S, P), (I, PS), (N, PSI), (v 1, PSIN), (M, PSI), (v 2, PSIM), (I, PSI), (M, PSII), (v 3, PSIIM), (I, PS), (N, PSI), (v 4, PSIN), (L, PS), (v 5, PSL), (N, PS), (v 6, PSN), (B, P), (L, PB), (v 7, PBL), (N, PB), (v 8, PBN) ® Q 2= /* Boston como vendedor e New York como comprador */ (P, ), (S, P), (L, PS), (v 5, PSL), (B, P), (L, PB), (v 7, PBL) ® Q 3= /* Boston como vendedor ou comprador */ (P, ), (L, *), (v 5, P*L) 14 21: 45
Problema Um nó pode ter filhos parecidos: ® /A[B/C]/B/D Faz consultas multiplas e o resultado é a o conjunto união. “(A, ), (B, A), (C, AB), (B, A), (D, AB)” A B 15 21: 45 A B U C D C B D
Solução ® Uma definição formal de uma linguagem que dê suporte a consultas com restrições. ® Ponto Principal: A indexação do caminho 16 21: 45
Árvore de Sufixos ® 17 21: 45 A sequência estruturada codificada é colocada em uma árvore de sufixos.
Algoritmo de Busca Simples Query: (P, )(L, P *)(v 2, P*L) 18 21: 45
Ancestor-Descendant Relationships ® D-Ancestorship: Relacionamento entre nós no documento XML de origem. (pai – filho) ® Essencial pra uma Consulta modelada ® S-Ancestorship: Relacionamento para os nós no sufixo da árvore (filho – pai e sobrinho – tios) Existe entre qualquer dois nós num mesmo documento. ® Essencial para evitar operações de união (intrarecord) ® 19 21: 46
RIST: Relationship Indexed Suffix Tree ® Indexamos os nós da árvore de sufixos por tuplas (Symbol, Prefix) (Indexação por D-Ancestorship) ® Agora vamos marcar cada nó da árvore de sufixos com (n , size), onde n é a número em pre-ordem do nó e size é o numero de nós abaixo dele. (Indexação por S-Ancestorship) 20 21: 46
Marcando a árvore de sufixos ® Cada 21 21: 46 nó tem uma tupla (Symbol, Prefix) ® Cada nó é marcado com (nx, sizex) um nó x é descendente de um nó y se nx está no intervalo [ny, ny+ sizey) ® Criar uma árvore trie para os indices criados
Algoritmo RIST 22 21: 46
Algoritmo RIST - Resumo ® Diferente do Algoritmo de busca simples, RIST pula para o nó que representa o próximo simbolo ao invés de uma busca inteira na sub-árvore. ® A estrutura indexada e também o algoritmo de busca, são baseados em arvores trie. ® Uma árvore de sufixos é construida para fazer apresentar as marcas dos nós. Mas ela não é usada no algoritmo de busca. 23 21: 46
VIST: Virtual Suffix Tree ® Motivação: ® RIST usa um esquema de marcação estática (preordem, tamanho ), que evita o adicionamento de novos nós dinamicamente. ® A árvore de sufixos é uma estrutura que precisa está completamente carregada em memória, o que torna RIST não suportado pelos SGBDs. 24 21: 46
Sinal de probabilidade ® Probabilidade que x ocorra dado que u ocorra é denotado como p(u|x) ® Se x é parente de u, é fácil dizer quem é p(u|x) ® Por exemplo, p(Name|Buyer)=1 ® p(Subitem|Item)=. 1 ® n 25 21: 46 Então temos que: n p(u|x) é conhecido já que u é parente de x
Follow Set ® Dado um nó x, follow(x) está para todo nó que pode suceder x na sequência estruturada codificada. n n 26 21: 46 follow(x) = u, v, w, y, z, Se y é qualquer elemento de follow(x), então p(y|x) = p(y|d), onde d é parente de y.
Testes ® Definição ® DBLP. para os testes: Cada registro corresponde a uma publicação, e o tamanho médio de sequencias estruturadas codificadas é 31. ® Xmark. Um único registro com uma grande estrutura. Sub estruturas complexas e cheias de nós. 27 21: 46
Testes 28 21: 46 Tamanho do indice (em MB) Tempo de construção do indice (em MB)
As pesquisas no Mundo Nas universidades do mundo: University of St. Petersburg na Russia; University of Singapore, University Stanford Nas universidades do Brasil: Pesquisas de indexação XML para fins específicos (bibliotecas digitais, sistemas de busca, . . . ) E os grandes desenvolvedores dos SGDBs? A IBM é quem mais se destaca com suas pesquisas. O VISIT é um exemplo 29 21: 46
Conclusão ® SGBDs e sistemas que utilizam XML tendem a se fortalecer com as técnicas avancadas de busca; ® Muitas pesquisas na área estão se consolidando em uma forma única e ideal de busca; 30 21: 46
- Universidade federal do rio grande do norte
- Universidade federal do rio grande do norte
- Boemios campina grande
- Extintores campina grande
- Projeto geométrico
- Informtica
- Informtica
- Informtica
- Ufam
- Faculdade federal de osasco
- Universidade federal de santa catarina
- Universidade federal do amazonas
- Universidade federal de santa catarina brazil
- Universidade federal de santa catarina
- Universidade federal do amazonas medicina
- Universidade federal de santa catarina
- Texto-base adaptada universidade federal de alagoas ufal
- Biblivre
- Universidade federal de santa catarina
- Paramo y campiña
- Grande muy grande
- Mestrado utfpr londrina
- Passei no mestrado e agora
- Mestrado em economia internacional
- Direito forense e arbitragem
- Agradecimentos de tese
- Universidade castelo branco centro
- "prof universidade paulista unip"
- Univap - universidade do vale do paraíba
- Universidade de newcastle
- Universidade castelo branco centro