APPLICATION FAILOVER IN PROGRESS® DATADIRECT® DRIVERS

Only Progress DataDirect Connect database drivers (for ODBC, JDBC, and ADO.NET) include Application Failover to automatically and transparently redirect requests to an alternate database server if the primary server is unavailable because of a hardware failure or traffic overload. DataDirect Application Failover:

  • Ensures application reliability and data integrity
  • Completely manages failover without additional coding or expensive server dependencies
  • Provides a consistent, standards-based approach regardless of database server or application environment

Ensures Application Reliability and Data Integrity

DataDirect's high-quality approach guarantees data consistency and validity by ensuring that the alternate server is an exact mirror of the primary server with respect to transaction state. If for some reason the states don’t match, the driver will detect this and allow the application to take the appropriate action.

Completely Manages Failover

With DataDirect, application failover is managed completely by the driver without-additional application coding or server dependencies:

  • Manages the re-connection to an alternate server list (which may include multiple reconnect attempts)
  • Checks that the state of the data in the alternate server is consistent with the application
  • Re-prepares the Select statement, re-executes the Select statement, and re-positions the cursor to the record that was being processed

Provides a Consistent, Standards-based Approach

DataDirect's failover implementation provides consistency regardless of database or operating environment to help reduce application development costs.
In addition, DataDirect simplifies and standardizes the return code values, which greatly reduces the application code necessary to implement failover, and makes it easy to provide failover in heterogeneous database environments.

DataDirect Connect database drivers provide multiple configurable options for application failover. The failover logic is completely managed by the driver.

Connection Failover

Ensures that new connections can be established, even if the primary server is not available. If the initial connection attempt fails, the driver automatically attempts to connect to a set of alternate servers.

Load Balancing

The driver will randomly select an alternate server from the list of alternates specified, reducing the likelihood of overwhelming one particular server during a failover event

Extended Connection Failover

Supports new connections and lost connections by connecting the application to an alternate server, while preserving the state of a lost connection.

Select Failover

Also known as transaction failover, this option protects Select statements that have work in progress. If the connection is lost, the driver fails over to an alternate server while preserving the state of the connection along with the work being performed by the Select statement. This includes the ability to reposition the cursor to the next row in a row that was returned by a Select statement.

Check product documentation for information on which options are supported for a particular driver.

Description

A financial brokerage firm uses a Web-based application to routinely review significant trade activities for their premium account holders and perform workflow activities such as auditing, customer outreach, and so on.

Goals

  • Availability
  • Fast response time
  • Data integrity
  • Reliability

Issue

If the database containing the stock trade history becomes unavailable during a transaction, and the application is not able to fail over and restore the state of the transaction, the brokerage manager has to do a great deal of work to restart and recreate their activity.

Resolution

With DataDirect Application Failover, if a database server becomes unavailable while the stock trade list is being processed, the driver will transparently fail over the transaction to an alternate server and reposition the state of the transaction so that the brokerage manager can continue processing the next stock trade in the query list.

Although this sounds simple, the failover processing provided by the driver is significant. The DataDirect driver:

  • Manages the re-connection to an alternate server list (which may include multiple re-connect attempts)
  • Checks that the state of the data in the alternate server with respect to the application is consistent
  • Re-prepares the Select statement, re-executes the Select statement, and re-positions the cursor to the stock trade entry in the list that was being processed by the brokerage manager

 

Robust Application Failover is one of the many reasons leading organizations turn to DataDirect for database connectivity. The database driver you choose can play an important part in ensuring highly available applications. If you rely on a database vendor driver, you’re getting limited - if any - application failover support.

DataDirect Failover

Failover Alternatives

Reduces Application Development Costs
Because the driver manages failover, you won’t have to implement time-consuming proprietary code in the application or costly server configurations provided by the database vendors.

Requires Addition of Proprietary Code to Implement Failover
Relies on expensive server configurations and database-specific application code, which results in higher development costs.
In addition, failover support is only provided in drivers that are based on database client libraries, resulting in inferior performance and increased deployment and maintenance costs.

Ensures Application Reliability and Data Integrity
High-quality approach guarantees data consistency and validity by ensuring that the alternate server is an exact mirror of the primary server with respect to transaction state. If for some reason the states don’t match, the driver will detect this and allow the application to take the appropriate action.

UnreliableFailover Resulting in Data Integrity Issues
Various alternative failover solutions have known reliability issues because they lack the level of quality and functionality needed to detect changes in data state.

Completely Manages Failover
Application failover is managed completely by the driver without additional coding or server dependencies such as Oracle Real Application Clusters (RAC), although application failover works seamlessly with any of these technologies.

Requires Expensive Server-based Failover Management
Relies on additional coding and expensive and complicated server configurations such as Oracle Real Application Clusters (RAC), Microsoft Cluster Server (MSCS), and DB2 High Availability Disaster Recovery (HADR).

Offers Standards-Based Approach
DataDirect’s failover implementation provides consistency regardless of database or operating environment to help reduce application development costs.
In addition, DataDirect simplifies and standardizes the return code values, which greatly reduces the application code necessary to implement failover, and makes it easy to provide failover in heterogeneous database environments.

Vendor-Specific Proprietary Approach
Proprietary approach must be implemented for each database supported. This limits future database flexibility and includes database-specific error messages that require database-specific application code.

Provides Flexibility
Completely configurable and provides multiple failover options for various enterprise requirements. Configure the list of alternate servers, number of re-try attempts and the associated wait period, and the failover options.

Brittle, Inconsistent Implementation
Various approaches may be hardware or software based, may vary in scope (project or enterprise), and may vary vastly in cost and complexity.