Processamento de Consultas XML em Ambientes Distribuídos
1. Processamento de Consultas XML em
Ambientes Distribuídos
Luiz Augusto Matos da Silva
Vanessa Braganholo (orientadora)
Niterói, Março de 2013.
2. Organização
• Contexto e Motivação
• Objetivos
• Trabalhos Relacionados
• Solução Proposta
• Considerações Finais
2
3. Contexto e Motivação
• + transações => Aumento no volume de dados
• Informação útil para a tomada de decisão
• Armazenamento distribuído de dados
• Diferentes formas de representação de dados
3
4. consulta
???
XML
resultado
Sistema de Apoio
à Decisão
CONSULTAS DE ALTO CUSTO
4
5. Como tornar mais eficiente o
processamento de consultas XML em
ambientes distribuídos?
5
7. Por que fragmentar?
- Compartilhamento de dados (confiabilidade)
- Distribuição e paralelização de processamento
(perfomance) [ÖZSU e VALDURIEZ, 2011]
GANHO DE DESEMPENHO
7
8. Processamento paralelo
• Paralelismo Interconsulta
Processamento simultâneo de diferentes consultas de
baixo custo em nós distintos.
• Paralelismo Intraconsulta
Processamento simultâneo da mesma consulta em
múltiplos nós.
[MATTOSO, 2009]
8
11. Fragmentação Horizontal
f1
f2
Seleção () Unidade de dados= tuplas
Modelo Relacional
Modelo XML
Seleção () Unidade de dados = árvores [SILVA, 2013]
11
13. Fragmentação Vertical
f1
f2
Projeção ()
Modelo Relacional
Modelo XML
Projeção () [SILVA, 2013]
13
14. F1Contatos:= <CContatos, π/Contato, /Contato/Telefone>
F2Contatos:= <CContatos, π/Contato/Telefone, {}>
F1Contatos
Esquema Id Logradouro
Nome Número
Logradouro Contato
Id Endereço Complemento
Nome Número e-mail Bairro
Endereço Complemento Cidade
Contato e-mail Bairro
Cidade
Tipo
DDD
F2Contatos
Telefone Tipo
Número
Telefone DDD
Número
[SILVA, 2013]
15. consulta
XML
resultado
Sistema de Apoio
à Decisão
- Consultas analíticas = grande volume de dados
- + operações de agregação
- Consultas ad-hoc = não há um padrão de execução
15
16. Limitações da Fragmentação Física para
este cenário
• Requer conhecimento prévio das consultas
frequentes
• Para cada nova consulta, novo projeto de
fragmentação
PROCESSO ONEROSO
16
17. Fragmentação Virtual
Sub -Query BD
C11
SGBD
DBMS
Sub -Query
C22
SGBD
DBMS BD
Original
C
Query
Sub -Query
C33
SGBD
DBMS BD
Sub -Query
C44
SGBD
DBMS
BD
[MATTOSO et al., 2005, adaptada]
17
18. Select sum(price) from ITEM Select sum(price) from ITEM
where item_no >= 1 where item_no >= 250,001
and item_no < 250,001 and item_no < 500,001
Select sum(price) from ITEM
Select sum(price) from ITEM Select sum(price) from ITEM
where item_no >= 500,001 where item_no >= 750,001
and item_no < 750,001 and item_no < 1,000,001
[MATTOSO et al., 2005]
18
23. Definir
um processo,
uma arquitetura e
um conjunto de algoritmos eficientes
para a Fragmentação Virtual Adaptativa de
bases de dados XML distribuídas, no intuito de
otimizar o desempenho do processamento de
consultas.
23
25. [MA e SCHEWE, 2003]
Contribuição: Define técnicas de fragmentação horizontal e
vertical em dados XML.
Limitações: DTD (modelo), XML-QL (consulta), somente
documentos, sem alocação, exige projeto de fragmentação.
25/40
25
26. [BREMER e GERTZ, 2003]
Contribuição: Abordagem para fragmentação
horizontal/vertical e alocação de dados XML.
Limitações: Esquema específico (RepositoryGuide),
baixo desempenho em consultas e atualizações
distribuídas, exige projeto de fragmentação.
26/40
26
27. [ANDRADE et al., 2006]
Contribuições: Define as técnicas de fragmentação
vertical, horizontal e híbrida, descreve critérios de
correção.
Limitação: Exige projeto de distribuição.
27/40
27
28. [FIGUEIREDO et al., 2010]
Contribuições: Automatiza as técnicas de fragmentação
e os critérios de correção definidos em [Andrade et al.,
2006], trata da redução de fragmentos irrelevantes.
Limitação: Modelo de consultas utiliza subconjunto
limitado da XQuery, exige projeto de distribuição.
28
30. [KLING et al., 2010]
Contribuições: Automatiza a fragmentação, consulta
e alocação dos dados fragmentados, poda de
fragmentos irrelevantes.
Limitação: Modelo de consultas utiliza subconjunto
limitado da XQuery, não trata da fragmentação híbrida,
exige projeto de distribuição.
30/40
30
31. [RODRIGUES et al., 2011]
Contribuições: Fragmentação virtual para o modelo
XML, não exige projeto de distribuição.
Limitação: Variação do tempo de recuperação da função
position(), desbalanceamento de carga.
31/40
31
34. Visão Geral da Arquitetura para a
Fragmentação Virtual XML [RODRIGUES et al., 2011]
34
35. [LIMA et al., 2010]
Contribuições: Ajusta dinamicamente os tamanhos dos
fragmentos durante a execução da consulta, implementa o
balanceamento de carga.
Limitação: Aplicado somente ao modelo relacional.
35/40
35
37. Adaptar a técnica de Fragmentação Virtual Adaptativa
utilizada no modelo relacional para o modelo XML.
1 – Executa a subconsulta
subconsultas cluster com intervalo inicial
2 – Incrementa o intervalo
consulta e executa a subconsulta
BD
enquanto o tempo de
execução for aceitável
coordenador ... 3 – Para de incrementar o
intervalo
4 – Se o tempo aumentou
BD desproporcionalmente
então reduz o tamanho do
intervalo e volta para o
passo 1.
37/40
37
38. 2 cluster
1 for $r in doc(„books.xml‟)//book
subconsultas
[position() >= 1 and position() < 2000]
consulta
BD where $r/book[@year=“2003”]
for $r in doc(„books.xml‟)//book
... [position() >= 2001 and position() <
for $r in doc(„books.xml‟)//book 4000]
where $r/book[@year=“2003”]
where $r/book[@year=“2003”]
BD
for $r in doc(„books.xml‟)//book
[position() >= 4001 and position() <
for $r in doc(„books.xml‟)//book
8000]
[position() >= 1 and position() < 20000] where $r/book[@year=“2003”]
where $r/book[@year=“2003”] for $r in doc(„books.xml‟)//book
for $r in doc(„books.xml‟)//book [position() >= 8001 and position() <
10500]
[position() >= 20001 and position() < 40000] where $r/book[@year=“2003”]
where $r/book[@year=“2003”] 38/40
38
39. E se um nó finalizar o processamento antes de outro nó?
1 – Se o Nó 1 ainda possuir dados a serem
cluster
processados e o Nó 2 já tiver concluído seu
processamento, então
BD
2 – Nó 1 divide a quantidade de dados a serem
... processados em dois intervalos
BD
3 – A faixa de intervalos mais alta é informada ao Nó 2,
que irá processá-la.
39/40
39
40. FVA-
XML
Arquitetura Mediador-Adaptadores para o
processamento de consultas XML
[FIGUEIREDO et al., 2010]
40
42. Com o aumento da quantidade de dados …
Como tornar mais eficiente o
processamento de consultas
XML em ambientes distribuídos?
42/40
42
43. O que já existe para o modelo relacional?
43/40
43
44. O que já existe para o modelo XML?
Trabalho Armazena- Técnica Frag- Modelo Consulta Exige
mento mentação Projeto Frag.
[FIGUEIREDO et SD e MD Horizontal, XML XQuery Sim
al., 2006] vertical e Schema
híbrida
[KLING et al., SD e MD Horizontal, XML XQuery Sim
2010] vertical Schema
[RODRIGUES et SD e MD Virtual Simples XML XQuery Não
al., 2011] Schema
Nossa Proposta SD e MD Virtual XML XQuery Não
Adaptativa Schema
44/40
44
45. Próximos passos …
Experimentos com SGBD XML Nativos
(armazenamento, índices, consultas etc.)
45/40
45
47. Próximos passos …
Definição da arquitetura/metodologia;
Definição e codificação dos algoritmos;
Prototipação;
Validação.
47/40
47
48. Referências
ANDRADE, Alexandre; RUBERG, Gabriela; BAIÃO, Fernanda; BRAGANHOLO, Vanessa; MATTOSO,
Marta. Efficiently Processing XML Queries over Fragmented Repositories with PartiX. In: INTERNATIONAL
WORKSHOP ON DATABASE TECHNOLOGIES FOR HANDLING XML INFORMATION ON THE WEB
(DATAX), 2., 2006, Munique. Proceedings... . Munique, 2006. p. 150-163.
BREMER, Jan-Marco; GERTZ, Michael. On Distributing XML Repositories. In: INTERNATIONAL
WORKSHOP ON THE WEB AND DATABASES (WebDB), 2003, San Diego. Proceedings… . San Diego,
2003.
KLING, Patrick; ÖZSU, M. Tamer; DAUDJEE, Khuzaima. Distributed XML Query Processing:
fragmentation, localization and pruning. Relatório Técnico, Universidade de Waterloo, Ontario, Canada,
2010.
LIMA, Alexandre A. B. ; MATTOSO, Marta; VALDURIEZ, Patrick. Adaptive Virtual Partitioning for OLAP
Query Processing in a Database Cluster. Journal of Information and Data Management, v. 1, p. 75-87,
2010.
MA, Hui; SCHEWE, Klaus-Dieter. Fragmentation of XML Documents. In: SIMPÓSIO BRASILEIRO DE
BANCO DE DADOS (SBBD), 18., 2003, Manaus. Anais... . Manaus, 2003. p. 200-214.
MATTOSO, M. Database clusters. In Encyclopedia of Database Systems, L. Liu and M. T. Özsu (Eds.).
Springer, pp. 700-704, 2009.
ÖZSU, M. T.; VALDURIEZ, P. Principles of Distributed Database Systems. 3. ed. Springer, 2011.
RODRIGUES, C.; BRAGANHOLO, V.; MATTOSO, M. Virtual Partitioning ad-hoc Queries over Distributed
XML Databases. In Journal of Information and Data Management, v. 2, n. 3, pp. 495-510, 2011.