SlideShare uma empresa Scribd logo
1 de 48
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.

Mais conteúdo relacionado

Mais procurados

Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dadosmlima72
 
Administração de Banco de Dados
Administração de Banco de DadosAdministração de Banco de Dados
Administração de Banco de DadosHelder Lopes
 
Basesdedados aula copiada da internet
Basesdedados  aula copiada da internetBasesdedados  aula copiada da internet
Basesdedados aula copiada da internetVedi Pinto
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade RelacionamentoCris Fidelix
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesMauricio Volkweis Astiazara
 

Mais procurados (7)

Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Administração de Banco de Dados
Administração de Banco de DadosAdministração de Banco de Dados
Administração de Banco de Dados
 
Aula 9 banco de dados
Aula 9   banco de dadosAula 9   banco de dados
Aula 9 banco de dados
 
Basesdedados aula copiada da internet
Basesdedados  aula copiada da internetBasesdedados  aula copiada da internet
Basesdedados aula copiada da internet
 
3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento3 - Modelo Entidade Relacionamento
3 - Modelo Entidade Relacionamento
 
Ordenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de ChavesOrdenação de Dados por Distribuição de Chaves
Ordenação de Dados por Distribuição de Chaves
 

Mais de Luiz Matos

Making Sense of Revision-Control Systems
Making Sense of Revision-Control SystemsMaking Sense of Revision-Control Systems
Making Sense of Revision-Control SystemsLuiz Matos
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel UbiquaLuiz Matos
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Luiz Matos
 
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...Luiz Matos
 
The Past and Future History of the Internet
The Past and Future History of the InternetThe Past and Future History of the Internet
The Past and Future History of the InternetLuiz Matos
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoLuiz Matos
 
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...Luiz Matos
 
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebObtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebLuiz Matos
 
Processo de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeProcesso de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeLuiz Matos
 
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaAnotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaLuiz Matos
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Luiz Matos
 
Agentes Moveis - Aspectos De Desenvolvimento
Agentes Moveis - Aspectos De  DesenvolvimentoAgentes Moveis - Aspectos De  Desenvolvimento
Agentes Moveis - Aspectos De DesenvolvimentoLuiz Matos
 
Learning Design
Learning DesignLearning Design
Learning DesignLuiz Matos
 

Mais de Luiz Matos (13)

Making Sense of Revision-Control Systems
Making Sense of Revision-Control SystemsMaking Sense of Revision-Control Systems
Making Sense of Revision-Control Systems
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel Ubiqua
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
 
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
Treinamento Organizacional: uma especificação da área de processo do nível 3 ...
 
The Past and Future History of the Internet
The Past and Future History of the InternetThe Past and Future History of the Internet
The Past and Future History of the Internet
 
JME Web Services API: um estudo de caso
JME Web Services API: um estudo de casoJME Web Services API: um estudo de caso
JME Web Services API: um estudo de caso
 
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
Análise e Utilização de Gestão do Conhecimento no Apoio ao Desenvolvimento de...
 
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebObtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da Web
 
Processo de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidadeProcesso de Desenvolvimento MDA: metodologias e agilidade
Processo de Desenvolvimento MDA: metodologias e agilidade
 
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFaAnotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
 
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
Sobre a Criação de Unidades de Aprendizagem do Padrão IMS Learning Design - u...
 
Agentes Moveis - Aspectos De Desenvolvimento
Agentes Moveis - Aspectos De  DesenvolvimentoAgentes Moveis - Aspectos De  Desenvolvimento
Agentes Moveis - Aspectos De Desenvolvimento
 
Learning Design
Learning DesignLearning Design
Learning Design
 

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
  • 9.  Single Document (SD)  Multiple Documents (MD) 9
  • 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çã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
  • 19. Problema • Seleção do atributo 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. 21
  • 22. OBJETIVOS 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
  • 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 para o 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
  • 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.