Measuring and Optimizing a System for Persistent Database Sessions

High availability for both data and applications is rapidly

becoming a business requirement. While database systems

support recovery, providing high database availability,

applications may still lose work because of server outages.

When a server crashes, volatile state associated with the

application's database session is lost and the application may

require operator-assisted restart. This exposes server failures to

end-users and always degrades application availability. Our

Phoenix/ODBC system supports persistent database sessions

that can survive a database crash without the application being

aware of the outage, except for possible timing considerations.

This improves application availability and eliminates

application programming needed to cope with database crashes.

Phoenix/ODBC requires no changes to database system, data

access routines, or applications. Hence, it can be deployed in

any application that uses ODBC to access a database. Further,

our generic approach can be exploited for a variety of data

access protocols. In this paper, we describe the design of

Phoenix/ODBC and introduce an extension to optimize response

time and reduce overhead for OLTP workloads. We present a

performance evaluation using TPC-C and TPC-H benchmarks

that demonstrate Phoenix/ODBC’s extra overhead is modest.

PDF file

In  ICDE Conference

Publisher  IEEE Computer Society
Copyright © 2007 IEEE. Reprinted from IEEE Computer Society. This material is posted here with permission of the IEEE. Internal or personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to By choosing to view this document, you agree to all provisions of the copyright laws protecting it.


> Publications > Measuring and Optimizing a System for Persistent Database Sessions