A Complete and Efficient Algebraic Compiler for XQuery

As XQuery nears standardization, more sophisticated XQuery applications are emerging, which often exploit the entire language and are applied to non-trivial XML sources. We propose an algebra and optimization techniques that are suitable for building an XQuery compiler that is complete, correct, and efficient. We describe the compilation rules for the complete language into that algebra and present novel optimization techniques that address the needs of complex queries. These techniques include new query unnesting rewritings and specialized join algorithms that account for XQuery’s complex predicate semantics. The algebra and optimizations are implemented in the Galax XQuery engine, and yield execution plans that are up to three orders of magnitude faster than earlier versions of Galax.

[1]  Ioana Manolescu,et al.  XMark: A Benchmark for XML Data Management , 2002, VLDB.

[2]  Ioana Manolescu,et al.  XQuery midflight: emerging database-oriented paradigms and a classification of research advances , 2005, 21st International Conference on Data Engineering (ICDE'05).

[3]  Sven Helmer,et al.  Full-fledged algebraic XPath processing in Natix , 2005, 21st International Conference on Data Engineering (ICDE'05).

[4]  Torsten Grust,et al.  Staircase Join: Teach a Relational DBMS to Watch its (Axis) Steps , 2003, VLDB.

[5]  Divesh Srivastava,et al.  Holistic twig joins: optimal XML pattern matching , 2002, SIGMOD '02.

[6]  Hamid Pirahesh,et al.  System RX: one part relational, one part XML , 2005, SIGMOD '05.

[7]  Laks V. S. Lakshmanan,et al.  Tree logical classes for efficient evaluation of XQuery , 2004, SIGMOD '04.

[8]  Amélie Marian,et al.  Projecting XML Documents , 2003, VLDB.

[9]  Jérôme Siméon,et al.  The Simplest XML Storage Manager Ever , 2004, XIME-P.

[10]  Alin Deutsch,et al.  The NEXT Logical Framework for XQuery , 2004, VLDB.

[11]  Scott Boag,et al.  XQuery 1.0 : An XML Query Language , 2007 .

[12]  Marcus Fontoura,et al.  Streaming XPath processing with forward and backward axes , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[13]  Michael J. Carey,et al.  The BEA/XQRL Streaming XQuery Processor , 2003, VLDB.

[14]  Ronald Fagin,et al.  Translating Web Data , 2002, VLDB.

[15]  Norman May,et al.  Nested queries and quantifiers in an ordered context , 2004, Proceedings. 20th International Conference on Data Engineering.