Implementing Memoization in a Streaming XQuery Processor

  • Yanlei Diao
  • Daniela Florescu
  • Donald Kossmann
  • Michael J. Carey
  • Michael J. Franklin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3186)


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.


Free Variable Query Execution Runtime System Expression Tree Path Expression 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    AlphaWorks. XML Generator (August 2001),
  3. 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. 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. 5.
    Diao, Y., Franklin, M.: Query Processing for High-Volume XML Message Brokering. In: Proc. of VLDB, pp. 261–272 (2003)Google Scholar
  6. 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. 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. 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. 9.
    Graefe, G.: Query Evaluation Techniques for Large Databases. ACM Computing Surveys 25(2), 73–170 (1993)CrossRefGoogle Scholar
  10. 10.
    Hellerstein, J., Naughton, J.: Execution Techniques for Caching Expensive Methods. In: Proc. of ACM SIGMOD, pp. 423–434 (1997)Google Scholar
  11. 11.
    Hudak, P.: Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys 21(3), 359–411 (1989)CrossRefGoogle Scholar
  12. 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. 13.
    Michie, D.: Memo Functions and Machine Learning. Nature 218, 19–22 (1968)CrossRefGoogle Scholar
  14. 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. 15.
    OASIS. Universal Business Language (February 2003),
  16. 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. 17.
    Sellis, T.: Multiple-Query Optimization. ACM TODS 13(1), 23–52 (1988)CrossRefGoogle Scholar
  18. 18.
    XQuery 1.0: An XML Query Language,
  19. 19.
    XQuery 1.0 and XPath 2.0 Functions and Operators,
  20. 20.
    XQuery 1.0 and XPath 2.0 Formal Semantics,

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Yanlei Diao
    • 1
    • 2
  • Daniela Florescu
    • 1
  • Donald Kossmann
    • 1
  • Michael J. Carey
    • 1
  • Michael J. Franklin
    • 2
  1. 1.BEA SystemsU.S.A.
  2. 2.University of California at BerkeleyU.S.A.

Personalised recommendations