ABSTRACT
A lot of work is being done in the database community on mapping of XML data into and out of relational database systems, specifically, the query processing over such data using XQuery. We discuss our solution, the XML Algebra Tree (XAT), as part of our larger XML management system called Rainbow.Rainbow uses XQuery to describe the loading and extracting of XML data into relational systems and also for the execution of queries against pre-defined XML views of that stored data. The XML algebra tree of the query against those views is merged with the queries that define the views to form a larger tree. Because the XML formatting operators are interleaved with the computation operators, this XAT must then be optimized before being translated into one or more SQL statements that can be executed on the database. SQL translation is composed of computation pushdown and SQL generation.The computation pushdown splits the tree into the XML-specific and SQL-doable operators, which is then going to be converted into SQL statements. However, the XAT after computation pushdown may contain unreferenced columns or unused operators. Leaving these operators in the tree will create unnecessarily large SQL statements and will slow down the overall execution.Our main contributions to XML query processing, outlined in this paper, are threefold. One, we describe an algebra based on XATs for modeling XQuery expressions. Two, we propose rewriting rules to optimize XQueries by XAT operator cancel out. Lastly, we show a cutting algorithm to remove unreferenced columns and operators from the trees. We have fully implemented the techniques discussed in this paper in the Rainbow system. A preliminary experimental study compares the performance of execution before and after operator cancel out and cutting.
- T. Bray, J. Paoli, and C. M. Sperberg-McQueen. Extensaible Markup Language (XML) 1.0. http://www.w3.org/TR/REC-xml, Feburary 1998.Google Scholar
- M. J. Carey, J. Kiernan, J. Shanmugasundaram, E. J. Shekita, and S. N. Subramanian. XPERANTO: Middleware for Publishing Object-Relational Data as XML Documents. In The VLDB Journal, pages 646--648, 2000. Google ScholarDigital Library
- DB2 UDB XML Extender. XML Extender Administration and Programming. http://www 4.ibm.com/software/data/db2/extenders/xmlext/library.html, December 1999.Google Scholar
- DSRG. Rainbow: Relational Database Auto-Tuning for Efficient XML Query Processing. http://davis.wpi.edu/dsrg/rainbow, 2002.Google Scholar
- M. F. Fernandez, A. Morishima, D. Suciu, and W. C. Tan. Publishing Relational Data in XML: the SilkRoute Approach. IEEE Data Engineering Bulletin, 24(2):12--19, 2001.Google Scholar
- H. Garcia-Molina, J. Ullman, and J. Widom. Database System Implementation. Prentice-Hall, 2000. Google ScholarDigital Library
- I. Manolescu, D. Florescu, D. Kossmann, F. Xhumari, and D. Olteanu. Agora: Living with xml and relational. In A. E. Abbadi, M. L. Brodie, S. Chakravarthy, U. Dayal, N. Kamel, G. Schlageter, and K.-Y. Whang, editors, VLDB 2000, Proceedings of 26th International Conference on Very Large Data Bases, September 10-14, 2000, Cairo, Egypt, pages 623--626. Morgan Kaufmann, 2000. Google ScholarDigital Library
- Microsoft Corp. Microsoft sql server. http://www.microsoft.com.Google Scholar
- J. Naughton, D. DeWitt, D. Maier, and J. C. etc. The Niagara Internet Query System. IEEE Data Engineering Bulletin, 24(2):27--33, 2001.Google Scholar
- Oracle Technologies Network. Using XML in Oracle Database Applications. http://technet.oracle.com/tech/xml/htdocs/about_oracle_xml_products.htm, November 1999.Google Scholar
- A. Sahuguet. Kweelt: More than just "yet another framework to query xml!". In Demo Session Proceedings of SIGMOD'01, page 602, 2001. Google ScholarDigital Library
- W3C. XML Query Use Cases. http://www.w3.org/TR/xmlquery-use-cases, 2002.Google Scholar
- W3C. XQuery 1.0 Formal Semantics. http://www.w3.org/TR/query-semantics, 2002.Google Scholar
- X. Zhang, G. Mitchell, W.-C. Lee, and E. A. Rundensteiner. Clock: Synchronizing Internal Relational Storage with External XML Documents. In RIDE-DM, pages 111--118, April 2001. Google ScholarDigital Library
- X. Zhang, M. Mulchandani, S. Christ, B. Murphy, and E. A. Rundensteiner. Rainbow: Mapping-Driven XQuery Processing System. In Demo Session Proceedings of SIGMOD'02, page 614, 2002. Google ScholarDigital Library
- X. Zhang, B. Pielech, and E. A. Rundensteiner. XAT Optimization. Technical report, Worcester Polytechnic Institute, 2002. to appear.Google Scholar
- X. Zhang and E. A. Rundensteiner. XAT: XML Algebra for the Rainbow System. Technical Report WPI-CS-TR-02-24, Worcester Polytechnic Institute, July 2002.Google Scholar
Index Terms
- Honey, I shrunk the XQuery!: an XML algebra optimization approach
Recommendations
XML Processing and Data Integration with XQuery
Most Web applications exchange data as XML, but they create and process this data with languages that don't have native support for XML. With appropriate middleware, XQuery can dramatically simplify this process, treating all data sources as though they ...
A survey of XQuery: an XML query language
ICWET '11: Proceedings of the International Conference & Workshop on Emerging Trends in TechnologyCurrently, the most effective standard used for data exchange over the Internet is the eXtensible Markup Language (XML). The greatest strength of XML is, it can represent many different kinds of information from diverse sources including structured and ...
Transforming XSLT stylesheets into XQuery expressions and vice versa
XSLT and XQuery are the languages developed by the W3C for transforming and querying XML data. XSLT and XQuery have the same expressive power and can be indeed translated into each other. Many tools either support XSLT or XQuery. In this paper, we show ...
Comments