Sunteți pe pagina 1din 19

Armazenamento de Dados XML em SGBDs

Fernanda Baio fernanda.baiao@uniriotec.br

Apresentao baseada no material de Humberto Jos Vieira Junior e Gabriela Ruberg 2006

Agenda
Introduo Armazenamento de Documentos XML
Mapeamento relacional Mapeamento OO

Transformao XQuery SQL3 Anlise Comparativa Exerccio XVerter


2

Motivao
Documentos XML como troca de informao Armazenamento
Arquivos texto SGBDs (Nativos, Relacionais ou baseados em Objetos)

Consulta aos dados


Conhecimento das linguagens de consulta Conhecimento da estrutura de armazenamento
3

Cenrio
Analisar estratgias para o armazenamento de documentos XML em SGBDs com pouca ou nenhuma perda semntica
Dados estruturados e semi-estruturados em um mesmo sistema

Analisar a reconstruo de documentos XML Analisar impactos para o processamento de consultas XQuery em SGBDs
4

Referncias
CHAUDHURI, S. SHIM K. Storage and Retrieval of XML Data using Relational Databases, Tutorial, VLDB01. Tambm em ICDE 2003 Ronald Bourret, Native XML Databases, http://www.rpbourret.com/xml/ProdsNative.htm Sun Developer Network, Java Architecture for XML Binding (JAXB), http://java.sun.com/webservices/jaxb Vieira, H. XVerter: Armazenamento e Consulta de Dados XML em SGBDs Tese de Mestrado, COPPE/UFRJ, dezembro 2002. Vieira, H., Ruberg, G., Mattoso, M., 2002, "XVerter: Armazenamento e Consulta de Dados XML em SGBDs". In: XVII Simpsio Brasileiro de Banco de Dados (SBBD'2002), pp. 224-238, Gramado, Brasil.

Referncias
FEGARAS, L.,ELMASRI, R., 2001, "Query Engines for Web-Accessible XML Data". In: 27th International Conference on Very Large Data Bases (VLDB'2001), pp. 251-260, Roma, Italy. FLORESCU, D.,KOSSMAN, D., 1999, "Storing and Querying XML Data using an RDBMS". In: IEEE Data Engineering Bulletin, v. 22, pp. 27-34. MANOLESCU, I., FLORESCU, D., KOSSMAN, D., 2001, "Answering XML Queries Over Heterogeneous Data Sources". In: 27th International Conference on Very Large Data Bases (VLDB'2001), pp. 241-250, Roma, Italy. MANOLESCU, I., FLORESCU, D., KOSSMAN, D., et al, 2000, "Agora: Living with XML and Relational". In: 26th International Conference on Very Large Data Bases (VLDB'2000), pp. 623-626, Cairo, Egypt

Referncias
RUNAPONGSA, K.,PATEL, J., 2002, "Storing and Querying XML Data in ObjectRelational DBMSs". In: International Conference on Extending Database Technology (EDBT'2002) Workshops XMLDM, pp. 266-285, Prague, Czech Republic. SHANMUGASUNDARAM, J., SHEKITA, E., BARR, R., et al, 2000, "Efficiently Publishing Relational Data as XML Documents". In: 26th International Conference on Very Large Data Bases (VLDB'2000), pp. 65-76, Cairo, Egypt. SHANMUGASUNDARAM, J., SHEKITA, E., KIERNAN, J., et al, 2001, "A General Technique for Querying XML Documentos using a Relational Database System". In: Special Interest Group on Management of Data (SIGMOD) Record, v. 30, pp. 20-26. SHANMUGASUNDARAM, J., TUFTE, K., HE, G., et al, 1999, "Relational Databases for Querying XML Documents: Limitations and Opportunities". In: 25th International Conference on Very Large Data Bases (VLDB'1999), pp. 302-314, Edinburgh, Scotland, United Kingdom.

Referncias

TIAN, F., DEWITT, D., CHEN, J., et al, 2002, "The Design and Performance Evaluation of Alternative XML Storage Strategies". In: SIGMOD Record, v. 31. MASATOSHI YOSHIKAWA and TOSHIYUKI AMAGASA, XRel: A Path-Based Approach to Storage and Retrieval of XML Documents Using Relational Databases, ACM TOIT 1(1)

Armazenamento de Documentos XML


Arquivos texto
Dados estruturados e semi-estruturados separados Dificuldade de consulta

SGBDs XML Nativos


Documentos XML sem nenhuma perda Recursos de Gerncia de dados (transaes, otimizao de consultas, ...) em evoluo

SGBDs Tradicionais
Dados estruturados e semi-estruturados em um mesmo sistema Aproveitamento das funcionalidades tpicas de um SGBD

SGBDs XML Nativos


Especificamente projetados para armazenar documentos XML Recursos de gerncia de dados
Transaes, segurana, acesso multi-usurio, APIs programveis, linguagens de consultas, ... ndices
ndices de valor, estruturais, textos-completos (full-text)

Modelo interno de armazenamento baseado em XML


rvores (grafos), e no tabelas

Suportam a noo de colees


10

SGBDs XML Nativos - Usos


Armazenamento de dados centrados em documentos
Linguagens de consulta XML, difceis de expressar em SQL "Get me all documents in which the third paragraph after the start of the section contains a bold word," Preservam ordem do documento, instrues de processamento, comentrios, sees CDATA

Integrao de dados
Evitam mapeamento das fontes de dados para modelo relacional (BDs federados) Maior flexibilidade Lidam melhor com evoluo de esquemas Tratam dados no estruturados

Domnios em que a estrutura dos dados evolui rapidamente


Finanas Bioinformtica

Outros
Transaes longas, documentos grandes, etc
11

Qual o Problema ?
Cenrio:
receber grandes instncias de dados XML armazenar, gerenciar, consultar atravs da XQuery

Considerando o uso de SGBDs tradicionais:


Como mapear XML para o relacional, relacional-objeto ou objeto ? Como reconstruir o documento XML original ? Como mapear a consulta XQuery para SQL, OQL ?

12

How to store Native XML Data?


[Shaudhuri e Shim 2001]

Usurio prov mapeamento para tabelas relacionais especficas


produtos comerciais em geral..

Mapeamento Genrico
usurio no define o mapeamento Sem DTD

Inferir mapeamento a partir do DTD ou XML Schema Analisar documentos XML e consultas

13

Mapeamento relacional
Genrico arco (edge) Universal DTD Inferncia

15

Documento XML
<book> <title> The Calculus </title> <author> Tamer Ozsu </author> <author> Patrick Valduriez </author> <year> 1986 </year> </book> <book> <title> Foundations of Databases </title> <author> Serge Abiteboul </author> <author> <first-name> Rick </first-name> <last-name> Hull </last-name> <author> Victor Vianu </author> <year> 1995 </year> </book>
16

Armazenamento XML: Genrico (Edge)


source

Ref

Val
dest

&o1 book &o2 title &o3 author &o4 author year &o5 &o6 1986

Ref

Source Label Dest &o1 &o2 &o2 &o2 &o2


Val Node &o3 &o4 &o5 &o6

book title author author year

&o2 &o3 &o4 &o5 &o6

The Calculus

Value The Calculus 1986

[Florescu, Kossman 1999]


17

Armazenamento XML: Genrico (Edge)

18

Armaz XML: Genrico (Edge-Tab Unica)

19

Mapeamento de Consultas

20

Documento XML de exemplo


<!DOCTYPE Dept SYSTEM Dept.dtd> <Dept dept_id=dept1> <Student student_id=123> <Name>St1</Name> <Enroll>CS10</Enroll> <Enroll>CS20</Enroll> </Student> <Student student_id=124> <Name>St2</Name> </Student> </Dept>

21

10

Armazenamento XML: Genrico (Edge)

22

Armaz XML: Genrico (Edge-Inlining)

23

11

Armaz XML: Genrico (Edge-Binrio)

24

Armaz XML: Genrico (Universal)

25

12

Armaz XML: Genrico (tipo DOM)


[Manolescu et al. 2000]

26

Mapeamento a partir do DTD

27

13

Mapeamento a partir do DTD

28

Shared e Hybrid Inlining

29

14

Ex. DTD : SIGMOD Record

30

Ex. Shared Inlining

31

15

Ex. Hybrid Inlining

32

Storing XML: Derive Schema from XML-Schema


DTD:
<!ELEMENT bib (paper*)> <!ELEMENT paper (author*,title,year)> <!ELEMENT author (firstname, lastname)>

Relational Schema:
Paper(pid, title, year) Author(aid, pid, fn, ln)

Sometimes this is poor. E.g.


80% of papers have <= 2 authors 18% have 3 authors 2% have 4 or more
[Christophides et al. 1994 , Shanmugasundaram et al. 1999]
33

16

STORED Approach: Mine Data to Derive Schema


paper paper paper paper

Papers1
fn1 ln1 fn2 ln2 title year X X X X X X X X X X X X -

year author title author authortitle author title author title fn ln fn ln fn ln fn ln

Papers2
author X
[Deutsch, Fernandez, Suciu, SIGMOD99]

title X

Use overflow to store the rest (e.g. as blobs)

34

Mapeamento para objetos


Genrico:
DOM (padro) Modelo de classes [Fegaras...] Tabela [Tian...]

35

17

Mapeamento para objetos: DOM


DocumentImpl cartas.xml

<cartas> <carta id="1"> ElementImpl <para>Joao</para> <cartas> <de>Maria</de> <assunto>Viagem</assunto> </carta> <carta id="2"> ElementImpl ElementImpl ElementImpl <para>Jane</para> <carta> <carta> <bilhete> <de>Joao</de> <assunto>Empresa</assunto> </carta> <bilhete id="1"> <conteudo> AttrImpl ElementImpl ElementImpl ElementImpl <para>Maria</para> <id = 1> <para> <de> <assunto> <de>Jane</de> <assunto>Carro</assunto> </conteudo> </bilhete> TextImpl TextImpl TextImpl </cartas> Joao Maria Viagem

36

Armazenamento de Documentos XML


Abordagem de Mapeamento x Vantagens/Desvantagens Vantagens Caixa Preta
-Reconstruo total dos documentos

Desvantagens
-Falta de flexibilidade -Dificuldade de consulta -Restrito ao espao de memria disponvel -Necessidade de conhecimento das estruturas criadas para consulta

Genrica

-N baixo de estruturas geradas -Esquema independente do documento armazenado -Facilita o processo de traduo -Esquema simples de representao -Mapeamento mais direto -Otimizao no acesso a elementos do mesmo tipo

nica Especfica
44

-Dificuldade de consulta pois h apenas uma nica estrutura de dados -Dificuldade de reconstruo total dos documentos -Gerao de um n alto de estruturas (muitas junes...)

18

Armazenamento de Documentos XML


Modelo de Dados x Vantagens/Desvantagens Vantagens
-Agrupamento fsico eficiente das estruturas de dados -Tecnologia amplamente consolidada

Desvantagens
-Dificuldade de reconstruo total dos documentos -Consultas com nmero excessivo de junes -Gap semntico entre os modelos Relacional e XML

Relacional

Baseado em Objetos

-Riqueza semntica do modelo OO -Algumas diferenas entre a semntica OO e XML -Capacidade de representao de herana -Semelhana entre o modelo OO e o XML

45

Exerccio
Escolher um documento XML simples Fazer a representao relacional do documento para as diversas abordagens apresentadas:

46

19

S-ar putea să vă placă și