XML query optimization in the presence of side effects

The emergence of database languages with side effects, notably for XML, raises significant challenges for database compilers and optimizers. In this paper, we extend an algebra for the W3C XML query language with operations that allow data to be immediately updated. We study the impact of that extension on logical optimization, join detection, and pipelining. The main result of this work is to show that, with proper care, a number of important optimizations based on nested relational algebras remain applicable in the presence of side effects. Our approach relies on an analysis of the conditions that must be checked in order for algebraic rewritings to hold. An implementation and experimental results demonstrate the effectiveness of the approach.

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

[2]  Giorgio Ghelli,et al.  Commutativity Analysis in XML Update Languages , 2007, ICDT.

[3]  Dan Suciu,et al.  Comprehension syntax , 1994, SGMD.

[4]  Christopher Ré,et al.  XQuery!: An XML Query Language with Side Effects , 2006, EDBT Workshops.

[5]  Uday S. Reddy,et al.  Imperative functional programming , 1996, CSUR.

[6]  Limsoon Wong,et al.  Kleisli, a functional query system , 2000, J. Funct. Program..

[7]  Daniela Florescu,et al.  XL: an XML programming language for web service specification and composition , 2002, Comput. Networks.

[8]  Nicola Onose,et al.  A Better Semantics for XQuery with Side-Effects , 2007, DBPL.

[9]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[10]  Steven Feuerstein,et al.  Oracle PL/SQL Programming , 1993 .

[11]  Leonidas Fegaras,et al.  Query unnesting in object-oriented databases , 1998, SIGMOD '98.

[12]  Simon Peyton Jones,et al.  Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell , 2005 .

[13]  Norman May,et al.  Strategies for query unnesting in XML databases , 2006, TODS.

[14]  Michael J. Carey Data delivery in a service-oriented world: the BEA aquaLogic data services platform , 2006, SIGMOD Conference.

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

[16]  Sophie Cluet,et al.  Designing OQL: Allowing Objects to be Queried , 1998, Inf. Syst..

[17]  Manfred Broy,et al.  Engineering Theories of Software Construction , 2001 .

[18]  Jan Hidders,et al.  On the Expressive Power of XQuery-Based Update Languages , 2006, XSym.

[19]  Leonidas Fegaras,et al.  Optimizing Queries with Object Updates , 1999, Journal of Intelligent Information Systems.

[20]  Christopher Ré,et al.  A Complete and Efficient Algebraic Compiler for XQuery , 2006, 22nd International Conference on Data Engineering (ICDE'06).