Roger Barga and David Lomet
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.
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 firstname.lastname@example.org. By choosing to view this document, you agree to all provisions of the copyright laws protecting it.