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 e...
Roger S. Barga, David B. Lomet