Recovery mechanisms in database systems
Recovery mechanisms in database systems
Efficient transparent application recovery in client-server information systems
SIGMOD '98 Proceedings of the 1998 ACM SIGMOD international conference on Management of data
Persistent Applications Using Generalized Redo Recovery
ICDE '98 Proceedings of the Fourteenth International Conference on Data Engineering
Redo Recovery after System Crashes
VLDB '95 Proceedings of the 21th International Conference on Very Large Data Bases
Log-based middleware server recovery with transaction support
The VLDB Journal — The International Journal on Very Large Data Bases
Component survivability at runtime for mission-critical distributed systems
The Journal of Supercomputing
Hi-index | 0.00 |
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.