1 / 9

Processing XML data using a relational database: Schema-Based XML Storage

This paper explores schema-based XML storage and query translation algorithms, focusing on recursive XML schemas and queries. It discusses mapping-aware query translation algorithms and the interaction between relational decomposition and query translation.

Télécharger la présentation

Processing XML data using a relational database: Schema-Based XML Storage

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Processing XML data using a relational database: Schema-Based XML Storage By Khang Nguyen Based on the paper of Rajasekar Krishnamurthy

  2. Three main points on the query translation problem • Developing query translation algorithms for the case when the XML Schema and/or the XML query may be recursive. • Designing algorithms that make better use of the XML-to-Relational mapping information during the query translation process. • Studying the interaction between the two sub problems: choosing a good relational decomposition for storing the XML data and choosing a query translation algorithm.

  3. Recursive Schemas and Recursive Queries • Has been a lot of work on alternative relational decompositions for XML data, not much on query translation algorithms. • [Choi02] out of 60 XML schemas analyzed, 35 were recursive. Recursive XML schemas are important. • Descendant operator (//) specifies ancestor-descendant relationships. • i.e., the query //section/title is a recursive query.

  4. Recursive Schemas and Recursive Queries (Cont.) – Interesting Issues • How do we translate path expression queries over arbitrary XML-to-Relational mappings into equivalent SQL queries? • Is the support for recursion in SQL3 sufficient for supporting path expression queries over arbitrary XML-to-Relational mapping?  • Are there any issues in the translation process when the XML schema is non-recursive? • Does XPath semantics introduce any interesting challenges?

  5. Mapping-aware Query Translation Algorithm

  6. Mapping-aware Query Translation Algorithm (Cont.) • Query: retrieve all the top-level section titles. • XQuery: • for $title in document(*)/book/section/title • SQL query: • Select S.title • From Book B, Section S • Where B.id = S.parentid and S.parentcode = 1 • Mapping-aware algorithm query: • Select title • From Section • Where parentcode = 1

  7. Are the two sub problems independent? • One is to pick a good relational decomposition and the other is to translate queries over this XML-to-Relational mapping. • The two sub problems can’t be solved in isolation. • There exist query translation algorithms T1 and T2, and relational decomposition D1 and D2. If we use T1, then D1 is better than D2 while with T2, then D2 is better than D1.

  8. Yes, the two sub problems dependent

  9. Yes, the two sub problems are dependent (Cont.) • On the 100MB XMark dataset [11], we noticed that XQ2fg was about three times faster than XQ2fp. • So, we see that for query Q, with algorithm NaiveTranslation, the fully partitioned strategy is better, whereas with algorithm MultipleScan, the fully grouped strategy is better. • As a result, the quality of a decomposition is closely related to the query translation algorithm used.

More Related