Processamento de Consultas XML em
      Ambientes Distribuídos
                          Luiz Augusto Matos da Silva
                      Vanessa Braganholo (orientadora)




             Niterói, Março de 2013.
Organização

• Contexto e Motivação

• Objetivos

• Trabalhos Relacionados

• Solução Proposta

• Considerações Finais

                               2
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
consulta
                     ???
 XML
                   resultado
Sistema de Apoio
    à Decisão


       CONSULTAS DE ALTO CUSTO
                                 4
Como tornar mais eficiente o
processamento de consultas XML em
     ambientes distribuídos?




                                    5
Fragmentação de Dados




                        6
Por que fragmentar?


-   Compartilhamento de dados (confiabilidade)


-   Distribuição   e   paralelização   de    processamento
    (perfomance)                       [ÖZSU e VALDURIEZ, 2011]



         GANHO DE DESEMPENHO
                                                                  7
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
 Single Document (SD)


 Multiple Documents
(MD)




                         9
Como fragmentar?

Fragmentação Física




                      10
Fragmentação Horizontal

                                                            f1



                                                            f2
Seleção ()   Unidade de dados= tuplas
                                                  Modelo Relacional
                                                      Modelo XML




       Seleção ()   Unidade de dados = árvores       [SILVA, 2013]
                                                                 11
F1Residencial:= <CContatos,σcontato/telefone/tipo=‟Residencial‟>
             F2Outros:= <CContatos,σcontato/telefone/tipo <> „Residencial‟>


            F1Residencial                                        F2Outros
<contato>                                      <contato>
 <id>001</id>                                   <id>002</id>
 <nome>Maria Silva</nome>                       <nome>José Abreu </nome>
 <endereco>                                     <endereco>
    <logradouro> Rua A </logradouro>               <logradouro> Rua C</logradouro>
    <numero>10</numero>                            <numero>155</numero>
    <complemento>Casa 3</complemento>              <complemento>Ap. 501</complemento>
 </endereco>                                    </endereco>
 <email>maria.silva@hotmail.com</email>         <email>jose.abreu@hotmail.com</email>
 <telefone>                                     <telefone>
    <tipo> Residencial </tipo>                     <tipo> Celular </tipo>
    <ddd>21</ddd>                                  <ddd>31</ddd>
    <numero>22220000</numero>                      <numero>99990000</numero>
 <telefone>                                     <telefone>
</contato>                                     </contato>
                                                                      [SILVA, 2013, adaptado]

                                                                                           12
Fragmentação Vertical
                                    f1




                                     f2
   Projeção ()
                        Modelo Relacional
                             Modelo XML




    Projeção ()               [SILVA, 2013]

                                          13
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]
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
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
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
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
Problema


• Seleção do atributo de fragmentação



       RESTRIÇÕES DE UNICIDADE



                                        19
Fragmentação Virtual Adaptativa


                                     SGBD
                                       DBMS




                                     SGBD
                                       DBMS

  Original
       C
   Query

                                     SGBD
                                       DBMS




                                     SGBD
                                       DBMS



                 Subconsultas     [MATTOSO et al., 2005,
                                             adaptada]
21
OBJETIVOS




            22
 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
TRABALHOS RELACIONADOS




                         24
[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
[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
[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
[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
Arquitetura Mediador-Adaptadores para o
   processamento de consultas XML
                                    [FIGUEIREDO et al., 2010]

                                                          29
[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
[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
/books/book[position()=2)]




                             32
[RODRIGUES, 2011]
                33
Visão Geral da Arquitetura para a
   Fragmentação Virtual XML         [RODRIGUES et al., 2011]
                                                          34
[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
SOLUÇÃO PROPOSTA




                   36
 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
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
 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
FVA-
                                    XML




Arquitetura Mediador-Adaptadores para o
   processamento de consultas XML
                                    [FIGUEIREDO et al., 2010]

                                                          40
CONSIDERAÇÕES FINAIS




                       41
Com o aumento da quantidade de dados …



 Como tornar mais eficiente o
 processamento de consultas
XML em ambientes distribuídos?



                                         42/40

                                                 42
O que já existe para o modelo relacional?




                                            43/40

                                                    43
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
Próximos passos …




 Experimentos com SGBD XML Nativos
(armazenamento, índices, consultas etc.)




                                           45/40

                                                   45
[SILVA JÚNIOR, 2012]

                 46
Próximos passos …



 Definição da arquitetura/metodologia;

 Definição e codificação dos algoritmos;

 Prototipação;

 Validação.
                                            47/40

                                                    47
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.

Processamento consultas-xml-v2

  • 1.
    Processamento de ConsultasXML em Ambientes Distribuídos Luiz Augusto Matos da Silva Vanessa Braganholo (orientadora) Niterói, Março de 2013.
  • 2.
    Organização • Contexto eMotivaçã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 maiseficiente o processamento de consultas XML em ambientes distribuídos? 5
  • 6.
  • 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 • ParalelismoInterconsulta 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
  • 9.
     Single Document(SD)  Multiple Documents (MD) 9
  • 10.
  • 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
  • 12.
    F1Residencial:= <CContatos,σcontato/telefone/tipo=‟Residencial‟> F2Outros:= <CContatos,σcontato/telefone/tipo <> „Residencial‟> F1Residencial F2Outros <contato> <contato> <id>001</id> <id>002</id> <nome>Maria Silva</nome> <nome>José Abreu </nome> <endereco> <endereco> <logradouro> Rua A </logradouro> <logradouro> Rua C</logradouro> <numero>10</numero> <numero>155</numero> <complemento>Casa 3</complemento> <complemento>Ap. 501</complemento> </endereco> </endereco> <email>maria.silva@hotmail.com</email> <email>jose.abreu@hotmail.com</email> <telefone> <telefone> <tipo> Residencial </tipo> <tipo> Celular </tipo> <ddd>21</ddd> <ddd>31</ddd> <numero>22220000</numero> <numero>99990000</numero> <telefone> <telefone> </contato> </contato> [SILVA, 2013, adaptado] 12
  • 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çãoFí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) fromITEM 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
  • 19.
    Problema • Seleção doatributo de fragmentação RESTRIÇÕES DE UNICIDADE 19
  • 20.
    Fragmentação Virtual Adaptativa SGBD DBMS SGBD DBMS Original C Query SGBD DBMS SGBD DBMS Subconsultas [MATTOSO et al., 2005, adaptada]
  • 21.
  • 22.
  • 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
  • 24.
  • 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
  • 29.
    Arquitetura Mediador-Adaptadores parao processamento de consultas XML [FIGUEIREDO et al., 2010] 29
  • 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
  • 32.
  • 33.
  • 34.
    Visão Geral daArquitetura 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
  • 36.
  • 37.
     Adaptar até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 seum 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
  • 41.
  • 42.
    Com o aumentoda 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
  • 46.
  • 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.