An Algebraic Approach to XQuery View Maintenance

View maintenance is a problem in data management that arises whenever a view is materialized over a source that changes over time. When the source is large, or when the source and view reside on different hosts, it is not practical to recompute the view and retransmit it over the network each time the source is updated. A better idea, commonly used in systems built with view maintenance in mind, is to translate source updates to ones that can be applied to the view directly. The cost of calculating, transmitting, and applying a translated update is typically dramatically less than the cost of recomputing and retransmitting the entire view. This paper addresses the problem of maintaining XQuery views over XML data. The core algorithm translates updates through queries as expressed in the tree algebra used internally in the Galax engine. This algorithm extends previous work on maintenance for relational views, although there are significant complications due to the data model, which is both ordered and nested. To overcome these obstacles, we propose a scheme for storing auxiliary data that guides the translation of updates in this more complicated setting. A novel aspect of our approach compared to previous work is that the amount and content of annotations can be controlled by users, making it possible to balance the tradeoffs between the size of the auxiliary data and the quality of translated updates. We have built a prototype implementation to test these ideas. Our system extends Galax, and handles a core set of operators and built-in functions capable of expressing many typical firstorder queries. Its design is fully compositional, so it can easily be extended to new operators. We present preliminary results of experiments run on benchmark queries from the XMark suite.

[1]  Val Tannen,et al.  Update Exchange with Mappings and Provenance , 2007, VLDB.

[2]  Elke A. Rundensteiner,et al.  An algebraic approach for incremental maintenance of materialized XQuery views , 2002, WIDM '02.

[3]  Dan Suciu,et al.  Query Decomposition and View Maintenance for Query Languages for Unstructured Data , 1996, VLDB.

[4]  Torsten Grust,et al.  MonetDB/XQuery: a fast XQuery processor powered by a relational engine , 2006, SIGMOD Conference.

[5]  Cong Yu,et al.  XQuery 1.0 and XPath 2.0 Full-Text , 2009, Encyclopedia of Database Systems.

[6]  Nate Foster,et al.  Provenance and Data Synchronization , 2007, IEEE Data Eng. Bull..

[7]  Inderpal Singh Mumick,et al.  Incremental Maintenance Of Views With Duplicates , 1999 .

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

[9]  Ashish Gupta,et al.  Materialized views: techniques, implementations, and applications , 1999 .

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

[11]  Latha S. Colby,et al.  Algorithms for deferred view maintenance , 1996, SIGMOD '96.

[12]  Steven J. DeRose,et al.  XML Path Language (XPath) , 1999 .

[13]  Surajit Chaudhuri,et al.  Maintenance of Materialized Views: Problems, Techniques, and Applications. , 1995 .

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

[15]  Gio Wiederhold,et al.  Incremental Recomputation of Active Relational Expressions , 1991, IEEE Trans. Knowl. Data Eng..

[16]  V. S. Subrahmanian,et al.  Maintaining views incrementally , 1993, SIGMOD Conference.

[17]  Takashi Honishi,et al.  Incremental maintenance for materialized XPath/XSLT views , 2005, WWW '05.

[18]  Yue Zhuge,et al.  Graph structured views and their incremental maintenance , 1998, Proceedings 14th International Conference on Data Engineering.

[19]  Jun'ichi Tatemura,et al.  Incremental maintenance of path-expression views , 2005, SIGMOD '05.

[20]  Susan B. Davidson,et al.  View Maintenance for Hierarchical Semistructured Data , 2000, DaWaK.

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

[22]  Nabil Layaïda,et al.  An incremental XSLT transformation processor for XML document manipulation , 2002, WWW '02.

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

[24]  Leonid Libkin,et al.  An Improved Algorithm for the Incremental Recomputation of Active Relational Expressions , 1997, IEEE Trans. Knowl. Data Eng..

[25]  Elke A. Rundensteiner,et al.  Order-Sensitive View Maintenance of Materialized XQuery Views , 2003, ER.