Efficient Support of XQuery Update Facility in XML Enabled RDBMS

XQuery Update Facility (XQUF), which provides a declarative way of updating XML, has become recommendation by W3C. The SQL/XML standard, on the other hand, defines XMLType as a column data type in RDBMS environment and defines the standard SQL/XML operator, such as XML Query() to embed XQuery to query XMLType column in RDBMS. Based on this SQL/XML standard, XML enabled RDBMS becomes industrial strength platforms to host XML applications in a standard compliance way by providing XML store and query capability. However, updating XML capability support remains to be proprietary in RDBMS until XQUF becomes the recommendation. XQUF is agnostic of how XML is stored so that propagation of actual update to any persistent XML store is beyond the scope of XQUF. In this paper, we show how XQUF can be incorporated into XML Query() to effectively update XML stored in XMLType column in the environment of XML enabled RDBMS, such as Oracle XMLDB. We present various compile time and run time optimisation techniques to show how XQUF can be efficiently implemented to declaratively update XML stored in RDBMS. We present how our approaches of optimising XQUF for common physical XML storage models: native binary XML storage model and relational decomposition of XML storage model. Although our study is done using Oracle XMLDB, all of the presented optimisation techniques are generic to XML stores that need to support update of persistent XML store and not specific to Oracle XMLDB implementation.

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

[2]  Ying Zhang,et al.  Projective Distribution of XQuery with Updates , 2010, IEEE Transactions on Knowledge and Data Engineering.

[3]  Roger Bamford Using multiversioning to improve performance without loss of consistency (Abstract Only) , 1992, SIGMOD '92.

[4]  Matthias Nicola,et al.  An XML transaction processing benchmark , 2007, SIGMOD '07.

[5]  Wenfei Fan,et al.  Querying xml with update syntax , 2007, SIGMOD '07.

[6]  Vikas Arora,et al.  Effective and efficient update of xml in RDBMS , 2007, SIGMOD '07.

[7]  Michael J. Carey,et al.  Updates in the AquaLogic Data Services Platform , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[8]  Marcus Fontoura,et al.  Querying XML streams , 2005, The VLDB Journal.

[9]  Sandeepan Banerjee,et al.  XML Schemas in Oracle XML DB , 2003, VLDB.

[10]  Michael Rys XML and relational database management systems: inside Microsoft® SQL Server™ 2005 , 2005, SIGMOD '05.

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

[12]  Nicola Onose,et al.  XML query optimization in the presence of side effects , 2008, SIGMOD Conference.

[13]  Zhen Hua Liu,et al.  Towards a physical XML independent XQuery/SQL/XML engine , 2008, Proc. VLDB Endow..

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

[15]  Juan Loaiza,et al.  The Oracle Universal Server Buffer , 1997, VLDB.

[16]  Vikas Arora,et al.  XMLTable Index - An Efficient Way of Indexing and Querying XML Property Data , 2007, 2007 IEEE 23rd International Conference on Data Engineering.

[17]  Daniela Florescu,et al.  XML and relational database management systems: the inside story , 2005, SIGMOD '05.

[18]  Shankar Pal,et al.  Indexing XML Data Stored in a Relational Database , 2004, VLDB.

[19]  Vikas Arora,et al.  Towards an enterprise XML architecture , 2005, SIGMOD '05.

[20]  Yanlei Diao,et al.  High-Performance XML Filtering: An Overview of YFilter , 2003, IEEE Data Eng. Bull..

[21]  Krishna Kunchithapadam,et al.  Oracle SecureFiles System , 2008, Proc. VLDB Endow..