Abstract
Database systems support recovery, providing high database availability. However, database applications may lose work because of a server failure. In particular, if a database server crashes, volatile server state associated with a client application’s session is lost and applications may require operator-assisted restart. This prevents masking server failures and degrades application availability. In this paper, we show how to provide persistent database sessions to client applications across server failures, without the application itself needing to take measures for its recoverability. This offers improved application availability and reduces the application programming task of coping with system errors. Our approach is based on (i) capturing client application’s interactions with the database server and (ii) materializing database session state as persistent database tables that are logged on the database server. We exploit a virtual database session. Our procedures detect database server failure and re-map the virtual session to a new session into which we install the saved old session state once the server has recovered. This integrates database server recovery and transparent session recovery. The result is persistent client-server database sessions that survive a server crash without the client application being aware of the outage, except for possible timing considerations. We demonstrate the viability of this approach by describing the design and implementation of Phoenix/ODBC, a prototype system that provides persistent ODBC database sessions; and present early results from a performance evaluation on the costs to persist and recover ODBC database sessions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bernstein, P., Goodman, N. and Hadzilacos, V. Recovery Algorithms for Database Systems. IFIP World Computer Congress, (September 1983) pp. 799–807.
Kumar, V. and Hsu, M. (eds.) Recovery Mechanisms in Database Systems. Prentice Hall, NJ 1998
Lomet, D.B. and Weikum, G. Efficient Transparent Application Recovery in Client-Server Information Systems. ACM SIGMOD 1998, Seattle, WA (June 1998) pp. 460–471.
Lomet, D. Application Recovery Using Generalized Redo Recovery. 1998 Int’l. Conference on Data Engineering, 154–163.
Lomet, D. and Tuttle, M. Redo Recovery From System Crashes. 1995 VLDB Conference, Zurich, Switzerland, 457–468.
Lomet, D. and Tuttle, M. A Formal Treatment of Redo Recovery with Pragmatic Implications. Available as Digital CRL Lab Technical Report.
Transaction Processing Council. TPC Benchmark H. http://www.tpc.org, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Barga, R.S., Lomet, D.B., Baby, T., Agrawal, S. (2000). Persistent Client-Server Database Sessions. In: Zaniolo, C., Lockemann, P.C., Scholl, M.H., Grust, T. (eds) Advances in Database Technology — EDBT 2000. EDBT 2000. Lecture Notes in Computer Science, vol 1777. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46439-5_32
Download citation
DOI: https://doi.org/10.1007/3-540-46439-5_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67227-2
Online ISBN: 978-3-540-46439-6
eBook Packages: Springer Book Archive