Skip to main content

Implementing Memoization in a Streaming XQuery Processor

  • Conference paper
Book cover Database and XML Technologies (XSym 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3186))

Included in the following conference series:

Abstract

In this paper, we describe an approach to boosting the performance of an XQuery engine by identifying and exploiting opportunities to share processing both within and across XML queries. We first explain where sharing opportunities arise in the world of XML query processing. We then describe an approach to shared XQuery processing based on memoization, providing details of an implementation that we built by extending the streaming XQuery processor that BEA Systems incorporates as part of their BEA WebLogic Integration 8.1 product. To explore the potential performance gains offered by our approach, we present results from an experimental study of its performance over a collection of use-case-inspired synthetic query workloads. The performance results show that significant overall gains are indeed available.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agrawal, S., Chaudhuri, S., Narasayya, V.: Automated Selection of Materialized Views and Indexes in SQL Databases. In: Proc. of VLDB, pp. 496–505 (2000)

    Google Scholar 

  2. AlphaWorks. XML Generator (August 2001), http://www.alphaworks.ibm.com/tech/xmlgenerator

  3. Chirkova, R., Halevy, A., Suciu, D.: A Formal Perspective on the View Selection Problem. In: Proc. of VLDB, pp. 59–68 (2001)

    Google Scholar 

  4. Dalvi, N., Sanghai, S., Roy, P., et al.: Pipelining in Multi-Query Optimization. In: Proc. of PODS, pp. 59–70 (2001)

    Google Scholar 

  5. Diao, Y., Franklin, M.: Query Processing for High-Volume XML Message Brokering. In: Proc. of VLDB, pp. 261–272 (2003)

    Google Scholar 

  6. Florescu, D., Hillery, C., Kossmann, D., et al.: The BEA/XQRL Streaming XQuery Processor. In: Proc. of VLDB, pp. 997–1008 (2003)

    Google Scholar 

  7. Gupta, A., Mumick, I.S.: Maintenance of Materialized Views: Problems, Techniques, and Applications. IEEE Data Bulletin 18(2), 3–18 (1995)

    Google Scholar 

  8. Llirbat, F., Fabret, F., Simon, E.: Eliminating Costly Redundant Computation from SQL Trigger Executions. In: Proc. of ACM SIGMD, pp. 428–439 (1997)

    Google Scholar 

  9. Graefe, G.: Query Evaluation Techniques for Large Databases. ACM Computing Surveys 25(2), 73–170 (1993)

    Article  Google Scholar 

  10. Hellerstein, J., Naughton, J.: Execution Techniques for Caching Expensive Methods. In: Proc. of ACM SIGMOD, pp. 423–434 (1997)

    Google Scholar 

  11. Hudak, P.: Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys 21(3), 359–411 (1989)

    Article  Google Scholar 

  12. Hughes, J.: Lazy Memo-functions. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 129–146. Springer, Heidelberg (1985)

    Google Scholar 

  13. Michie, D.: Memo Functions and Machine Learning. Nature 218, 19–22 (1968)

    Article  Google Scholar 

  14. Mistry, H., Roy, P., Sudarshan, S., et al.: Materialized View Selection and Maintenance Using Multi-Query Optimization. In: Proc. of ACM SIGMOD, pp. 307–318 (2001)

    Google Scholar 

  15. OASIS. Universal Business Language (February 2003), http://www.oasis-open.org/committees/ubl/

  16. Roy, P., Seshadri, S., Sudarshan, S., et al.: Efficient and Extensible Algorithms for Multi-Query Optimization. In: Proc. of SIGMOD, pp. 249–260 (2000)

    Google Scholar 

  17. Sellis, T.: Multiple-Query Optimization. ACM TODS 13(1), 23–52 (1988)

    Article  Google Scholar 

  18. XQuery 1.0: An XML Query Language, http://www.w3.org/TR/xquery/

  19. XQuery 1.0 and XPath 2.0 Functions and Operators, http://www.w3.org/TR/xpathfunctions/

  20. XQuery 1.0 and XPath 2.0 Formal Semantics, http://www.w3.org/TR/xquery-semantics

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Diao, Y., Florescu, D., Kossmann, D., Carey, M.J., Franklin, M.J. (2004). Implementing Memoization in a Streaming XQuery Processor. In: Bellahsène, Z., Milo, T., Rys, M., Suciu, D., Unland, R. (eds) Database and XML Technologies. XSym 2004. Lecture Notes in Computer Science, vol 3186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30081-6_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30081-6_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22969-8

  • Online ISBN: 978-3-540-30081-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics