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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Agrawal, S., Chaudhuri, S., Narasayya, V.: Automated Selection of Materialized Views and Indexes in SQL Databases. In: Proc. of VLDB, pp. 496–505 (2000)
AlphaWorks. XML Generator (August 2001), http://www.alphaworks.ibm.com/tech/xmlgenerator
Chirkova, R., Halevy, A., Suciu, D.: A Formal Perspective on the View Selection Problem. In: Proc. of VLDB, pp. 59–68 (2001)
Dalvi, N., Sanghai, S., Roy, P., et al.: Pipelining in Multi-Query Optimization. In: Proc. of PODS, pp. 59–70 (2001)
Diao, Y., Franklin, M.: Query Processing for High-Volume XML Message Brokering. In: Proc. of VLDB, pp. 261–272 (2003)
Florescu, D., Hillery, C., Kossmann, D., et al.: The BEA/XQRL Streaming XQuery Processor. In: Proc. of VLDB, pp. 997–1008 (2003)
Gupta, A., Mumick, I.S.: Maintenance of Materialized Views: Problems, Techniques, and Applications. IEEE Data Bulletin 18(2), 3–18 (1995)
Llirbat, F., Fabret, F., Simon, E.: Eliminating Costly Redundant Computation from SQL Trigger Executions. In: Proc. of ACM SIGMD, pp. 428–439 (1997)
Graefe, G.: Query Evaluation Techniques for Large Databases. ACM Computing Surveys 25(2), 73–170 (1993)
Hellerstein, J., Naughton, J.: Execution Techniques for Caching Expensive Methods. In: Proc. of ACM SIGMOD, pp. 423–434 (1997)
Hudak, P.: Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys 21(3), 359–411 (1989)
Hughes, J.: Lazy Memo-functions. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 129–146. Springer, Heidelberg (1985)
Michie, D.: Memo Functions and Machine Learning. Nature 218, 19–22 (1968)
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)
OASIS. Universal Business Language (February 2003), http://www.oasis-open.org/committees/ubl/
Roy, P., Seshadri, S., Sudarshan, S., et al.: Efficient and Extensible Algorithms for Multi-Query Optimization. In: Proc. of SIGMOD, pp. 249–260 (2000)
Sellis, T.: Multiple-Query Optimization. ACM TODS 13(1), 23–52 (1988)
XQuery 1.0: An XML Query Language, http://www.w3.org/TR/xquery/
XQuery 1.0 and XPath 2.0 Functions and Operators, http://www.w3.org/TR/xpathfunctions/
XQuery 1.0 and XPath 2.0 Formal Semantics, http://www.w3.org/TR/xquery-semantics
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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