Armazenamento XML2SGBD

Transcrição

Armazenamento XML2SGBD
Armazenamento de Dados
XML em SGBDs
Fernanda Baião
[email protected]
Apresentação baseada no material de Humberto José Vieira Junior e Gabriela Ruberg
© 2006
1
Agenda
9Introdução
9Armazenamento de Documentos XML
9Mapeamento relacional
9Mapeamento OO
9Transformação XQuery → SQL3
9Análise Comparativa
9Exercício
9XVerter
2
1
Motivação
• Documentos XML como troca de
informação
• Armazenamento
– Arquivos texto
– SGBDs (Nativos, Relacionais ou baseados em
Objetos)
• Consulta aos dados
– Conhecimento das linguagens de consulta
– Conhecimento da estrutura de armazenamento
3
Cenário
• Analisar estratégias para o armazenamento de
documentos XML em SGBDs com pouca ou
nenhuma perda semântica
– Dados estruturados e semi-estruturados em um mesmo
sistema
• Analisar a reconstrução de documentos XML
• Analisar impactos para o processamento de
consultas XQuery em SGBDs
4
2
Referências
•
CHAUDHURI, S. SHIM K. “Storage and Retrieval of XML Data using
Relational Databases”, Tutorial, VLDB’01. Também 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 Simpósio Brasileiro de Banco
de Dados (SBBD'2002), pp. 224-238, Gramado, Brasil.
5
Referências
•
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
•
MANOLESCU, I., FLORESCU, D., KOSSMAN, D., 2001, "Answering XML
an RDBMS". In: IEEE Data Engineering Bulletin, v. 22, pp. 27-34.
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
6
3
Referências
•
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.
7
Referências
• 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)
8
4
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 Gerência de dados (transações, otimização
de consultas, ...) em evolução
• SGBDs Tradicionais
– Dados estruturados e semi-estruturados em um mesmo
sistema
– Aproveitamento das funcionalidades típicas de um
SGBD
9
SGBDs XML Nativos
• Especificamente projetados para armazenar
documentos XML
• Recursos de gerência de dados
– Transações, segurança, acesso multi-usuário, APIs
programáveis, linguagens de consultas, ...
– Índices
• Índices de valor, estruturais, textos-completos (full-text)
• Modelo interno de armazenamento baseado em
XML
– Árvores (grafos), e não tabelas
• Suportam a noção de “coleções”
10
5
SGBDs XML Nativos - Usos
• Armazenamento de dados centrados em documentos
– Linguagens de consulta XML, difíceis 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, instruções de processamento,
comentários, seções CDATA
• Integração de dados
– Evitam mapeamento das fontes de dados para modelo relacional (BDs
federados)
– Maior flexibilidade
– Lidam melhor com evolução de esquemas
– Tratam dados não estruturados
• Domínios em que a estrutura dos dados evolui rapidamente
– Finanças
– Bioinformática
• Outros
– Transações longas, documentos grandes, etc
11
Qual o Problema ?
• Cenário:
– receber grandes instâncias de dados XML
– armazenar, gerenciar, consultar através 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
6
How to store Native XML Data?
[Shaudhuri e Shim 2001]
• Usuário provê mapeamento para tabelas
relacionais específicas
– produtos comerciais em geral..
• Mapeamento Genérico
– usuário não define o mapeamento
– Sem DTD
• Inferir mapeamento a partir do DTD ou XML
Schema
• Analisar documentos XML e consultas
13
Mapeamento relacional
•
•
•
•
Genérico – arco (edge)
Universal
DTD
Inferência
15
7
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: Genérico (Edge)
source
Ref
Val
dest
&o1
Ref
book
Source Label Dest
&o2
title
&o3
author
author
&o4
“The Calculus” “…”
year
&o5
“…”
[Florescu, Kossman 1999]
17
&o6
“1986”
&o1
&o2
&o2
&o2
&o2
Val
Node
&o3
&o4
&o5
&o6
book
title
author
author
year
&o2
&o3
&o4
&o5
&o6
Value
The Calculus
…
…
1986
8
Armazenamento XML: Genérico (Edge)
18
Armaz XML: Genérico (Edge-Tab Unica)
19
9
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: Genérico (Edge)
22
Armaz XML: Genérico (Edge-Inlining)
23
11
Armaz XML: Genérico (Edge-Binário)
24
Armaz XML: Genérico (Universal)
25
12
Armaz XML: Genérico (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
Papers1
paper
fn1 ln1 fn2 ln2 title year
year
author
title
author
authortitle author titleauthor title
fn
ln fn
ln
fn
ln
fn
X
X
X
X
X
X
X
-
X
-
X
X
X
X
-
ln
Papers2
author
X
[Deutsch, Fernandez, Suciu, SIGMOD’99]
title
X
Use “overflow” to store the rest
(e.g. as blobs)
34
Mapeamento para objetos
• Genérico:
– DOM (padrão)
– 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
Genérica
Única
Específica
44
Desvantagens
-Reconstrução total dos
documentos
-Falta de flexibilidade
-Dificuldade de consulta
-Restrito ao espaço de memória
disponível
-N° baixo de estruturas geradas
-Esquema independente do
documento armazenado
-Facilita o processo de tradução
-Necessidade de conhecimento das
estruturas criadas para consulta
-Esquema simples de
representação
-Dificuldade de consulta pois há apenas
uma única estrutura de dados
-Mapeamento mais direto
-Otimização no acesso a
elementos do mesmo tipo
-Dificuldade de reconstrução total dos
documentos
-Geração de um n° alto de estruturas
(muitas junções...)
18
Armazenamento de Documentos XML
Modelo de Dados x Vantagens/Desvantagens
Vantagens
Relacional
Baseado
em
Objetos
-Agrupamento físico eficiente das
estruturas de dados
-Tecnologia amplamente
consolidada
Desvantagens
-Dificuldade de reconstrução total dos
documentos
-Consultas com número excessivo de
junções
-Gap semântico entre os modelos
Relacional e XML
-Riqueza semântica do modelo OO -Algumas diferenças entre a semântica
OO e XML
-Capacidade de representação de
herança
-Semelhança entre o modelo OO e
o XML
45
Exercício
• Escolher um documento XML simples
• Fazer a representação relacional do
documento para as diversas abordagens
apresentadas:
46
19

Documentos relacionados

Integração de Informações em Saúde na WEB

Integração de Informações em Saúde na WEB aumentada devido à diversidade de interpretações dos vocabulários utilizados nesta área. Ontologias tornam possível o entendimento do domínio de conhecimento permitindo o compartilhamento de inform...

Leia mais