A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Indexando XML Banco de Dados e Internet - 2004 Professor: Cláudio Baptista Mestrando: Rômulo Nunes Universidade Federal de Campina Grande Mestrado em Informática.

Apresentações semelhantes


Apresentação em tema: "Indexando XML Banco de Dados e Internet - 2004 Professor: Cláudio Baptista Mestrando: Rômulo Nunes Universidade Federal de Campina Grande Mestrado em Informática."— Transcrição da apresentação:

1 Indexando XML Banco de Dados e Internet Professor: Cláudio Baptista Mestrando: Rômulo Nunes Universidade Federal de Campina Grande Mestrado em Informática

2 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 09:44

3 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 09:44

4 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 09:44

5 Indexação XML usando Listas Rua Zacarias de Azevedo, 323 Prado Av. Monte Castelo, Av. Fernandes Lima, Visualização do nível da árvore que vamos indexar 5 09:44

6 Indexação XML usando Listas Contato 1Contato 2Contato 3... Contato n Ana PaulaCláudiaDéboraZelda 6 09:44

7 Indexação XML usando Listas 7 09:44 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. 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.

8 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 09:44

9 Exemplo de uma árvore XML 9 09:44

10 Consultas XML 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 10 09:44

11 Uma representação sequencial dos dados XML de uma árvore  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 :44

12 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 ), …, (a n,p n )  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)  Percorrer a árvore em pre-ordem garante uma codificação onde nós vizinhos sempre estarão próximos :44

13  Consultas (incluindo consultas ramificadas, e consultas com caracteres coringas ‘*’ ou ‘//’) podem ser convertidos para uma sequência estruturada codificada. Sequência Estruturada Codificada

14 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) 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) 14 09:44

15 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)” 15 09:44 D A B C B A B C D A B U

16 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 09:44

17 Árvore de Sufixos  A sequência estruturada codificada é colocada em uma árvore de sufixos :44

18 Algoritmo de Busca Simples Query: (P,  )(L,P *)(v2,P*L)      18 09:44

19 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 (intra- record) 19 09:44

20 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 09:44

21 Marcando a árvore de sufixos  Cada nó tem uma tupla (Symbol, Prefix)  Cada nó é marcado com (n x,size x ) um nó x é descendente de um nó y se n x está no intervalo [n y, n y + size y )  Criar uma árvore trie para os indices criados 21 09:44

22 Algoritmo RIST 22 09:44

23 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 :44

24 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 :44

25 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  Então temos que:  p(u|x) é conhecido já que u é parente de x 25 09:44

26 Follow Set  Dado um nó x, follow(x) está para todo nó que pode suceder x na sequência estruturada codificada.  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 :44

27 Testes  Definição para os testes:  DBLP. 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 :44

28 Testes Tamanho do indice (em MB) Tempo de construção do indice (em MB) 28 09:44

29 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 09:44

30 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 09:44


Carregar ppt "Indexando XML Banco de Dados e Internet - 2004 Professor: Cláudio Baptista Mestrando: Rômulo Nunes Universidade Federal de Campina Grande Mestrado em Informática."

Apresentações semelhantes


Anúncios Google