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

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

Indexando XML Universidade Federal de Campina Grande

Apresentações semelhantes


Apresentação em tema: "Indexando XML Universidade Federal de Campina Grande"— Transcrição da apresentação:

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

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

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

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

5 Indexação XML usando Listas
Visualização do nível da árvore que vamos indexar <?xml version="1.0" ?> <agenda> <contato Nome=”Ana Paula da Silva”> <Endereço> Rua Zacarias de Azevedo, 323 Prado </Endereço> <Telefone> </Telefone> <Telefone> </contato> ... <contato Nome=”Zelda Cavalcante”> Av. Monte Castelo,2522 </Endereço> </agenda> ... <contato Nome=”Zelda Cavalcante”> <Endereço> Av. Fernandes Lima,2522 </Endereço> <Telefone> </Telefone> </contato> 5 16:23

6 Indexação XML usando Listas
Contato 1 Contato 2 Contato 3 ... Contato n Ana Paula Cláudia Débora Zelda 6 16:23

7 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. 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. 7 16:23

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

9 Exemplo de uma árvore XML
9 16:23

10 Consultas XML 10 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 16:23

11 Uma representação sequencial dos dados XML de uma árvore
Considere de v1 a v8 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: PSINv1Mv2IMv3INv4Lv5Nv6BLv7Nv8 11 16:23

12 Sequência Estruturada Codificada
Uma sequência estruturada codificada é uma sequência de tuplas do tipo (simbolo_atual, prefixo). D = (a1,p1), (a2,p2), …, (an,pn) Para a árvore do slide anterior temos: D = (P,),(S,P),(I,PS),(N,PSI),(v1,PSIN),(M,PSI),(v2,PSIM),(I,PSI), (M,PSII),(v3,PSIIM),(I,PS),(N,PSI),(v4,PSIN),(L,PS),(v5,PSL), (N,PS),(v6,PSN),(B,P),(L,PB),(v7,PBL),(N,PB),(v8,PBN) Percorrer a árvore em pre-ordem garante uma codificação onde nós vizinhos sempre estarão próximos. 12 16:23

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

14 Exemplos D = (P,),(S,P),(I,PS),(N,PSI),(v1,PSIN),(M,PSI),(v2,PSIM),(I,PSI), (M,PSII),(v3,PSIIM),(I,PS),(N,PSI),(v4,PSIN),(L,PS),(v5,PSL), (N,PS),(v6,PSN),(B,P),(L,PB),(v7,PBL),(N,PB),(v8,PBN) D = (P,),(S,P),(I,PS),(N,PSI),(v1,PSIN),(M,PSI),(v2,PSIM),(I,PSI), (M,PSII),(v3,PSIIM),(I,PS),(N,PSI),(v4,PSIN),(L,PS),(v5,PSL), (N,PS),(v6,PSN),(B,P),(L,PB),(v7,PBL),(N,PB),(v8,PBN) Q2= /* Boston como vendedor e New York como comprador */ (P,),(S,P),(L,PS),(v5,PSL),(B,P),(L,PB),(v7,PBL) Q3= /* Boston como vendedor ou comprador */ (P,),(L,*),(v5,P*L) 14 16:23

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)” You have a query “A/B[C]/D”, and it has one sequential representation, Q1=“(A,^),(B,A),(C,AB),(D,AB)”. Now you know node B can occur multiple times under A, so you come up with another query “A/[B/C]/B/D”, and convert it to a sequence Q2. You ask Q1 and Q2, and compute their difference. There is one case: a document may contain both structures, which makes the solution not as satisfactory. However, in reality I think it’s rare (considering queries having a variety of sub trees under the branch.). But, the rule of thumb is, we can always decompose the query into sub structures. D A B C U 15 16:23

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

17 Árvore de Sufixos A sequência estruturada codificada é colocada em uma árvore de sufixos. 17 16:23

18 Algoritmo de Busca Simples
Query: (P, )(L,P *)(v2,P*L) 18 16:23

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

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

21 Marcando a árvore de sufixos
Cada 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 21 16:23

22 Algoritmo RIST 22 16:23

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. 23 16:23

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. 24 16:23

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

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. 26 16:23

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. 27 16:23

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

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

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


Carregar ppt "Indexando XML Universidade Federal de Campina Grande"

Apresentações semelhantes


Anúncios Google