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