ODBC PERFORMANCE BENCHMARKS: PROGRESS® DATADIRECT® ODBC DRIVERS
Progress DataDirect compared its ODBC drivers against competing drivers for a variety of database operations. In our test methodology, we compare the capacity and efficiency of the drivers by isolating and testing these key variables: throughput, CPU efficiency, and memory usage.
- Superior throughput — DataDirect driver throughput is unmatched, processing much more work in a given time period—in some cases as much as 125% more. Unlike competing drivers, DataDirect driver throughput stays high and even increases as more users are added.
- Greater CPU efficiency — DataDirect drivers use considerably fewer CPU cycles to deliver superior throughput than competing drivers—in many cases, greater than 400% more CPU efficient.
- Smaller memory footprint — DataDirect drivers use considerably less memory while doing more work than competing drivers—in some cases saving over 550% in memory.
Note: Higher Numbers are Better
In the chart above, throughput results of DataDirect drivers are compared against competitive drivers for 15 different database operations.
- The 0% line represents the competitor’s throughput.
- The blue lines show how DataDirect throughput compares with the competition for each type of operation. A positive result indicates what percentage of greater throughput the DataDirect driver achieved.
Note: Higher numbers are better
In the chart above, resource savings of DataDirect ODBC drivers are compared against competitive drivers for a range of database operations.
- The 0% line shows the competitor’s results for CPU and memory usage.
- The green lines show how the DataDirect driver’s CPU usage compares with the competition for each type of operation. The percentage indicates the degree of CPU time savings the DataDirect driver achieves over the competitor.
- The red lines show how the DataDirect driver’s memory footprint compares with the competition for each type of operation. The percentage indicates the degree of memory savings the DataDirect driver achieves over the competitor.
Summary
Using the right database driver can noticeably improve the response time, throughput, and scalability of any database application. And with a resource-efficient driver, you need less hardware to support your applications. This is particularly meaningful when your application is running in a resource-limited environment typical of virtualization or sharing resources with other applications deployed on a single server.
Note: The results shown are not exhaustive and represent a small but representative sample of the many performance tests DataDirect runs, spanning a wide breadth of database operations for a wide range of application scenarios.
Wire Protocol Architecture
Most ODBC drivers require database client libraries (e.g., Oracle SQL*Net) to connect to the database. This creates an additional layer of translation between the driver and the database client API, which results in a bottleneck. DataDirect ODBC drivers don't require database client libraries, connecting directly to the database via TCP/IP and the wire-level API of the database. This streamlined wire protocol architecture eliminates application performance bottlenecks and avoids the memory leaks commonly associated with client-based ODBC database access.
Superior Design Features
DataDirect ODBC drivers include many design features that improve throughput and limit network I/O such as caching, connection and statement pooling, and network wire and socket management. See Anatomy of a DataDirect Driver for a full list of design features.
Designed for Virtualized Environments
DataDirect ODBC drivers minimize application memory usage so that more applications can be deployed on the same machine and these applications can handle more simultaneous users with less hardware. In virtualized environments, this means you can deploy more virtual machines to less server hardware. This saves money and reduces environment complexity, as well as the headaches that come with managing virtualized environments.
Bulk Load
DataDirect drivers boost application mass insert performance through the unique Bulk Load functionality. With this feature, ODBC applications that use parameter arrays can experience a significant performance boost without the need for application code changes or database bulk load tools / APIs.
In an independent benchmark study, database expert Ken North compared the performance of programming natively to the database interface with using an ODBC interface and driver from DataDirect. Following is a sample chart from Ken North’s study:

Note: The smaller the bar, the better the performance. For example, "Select 3" shows that DataDirect outperforms native by 80%.
Key Findings:
- Contrary to what some developers believe, there is no performance penalty when using ODBC (if you use DataDirect drivers).
- DataDirect wire protocol drivers outperform native programming by a wide margin.
- In six of the ten tests, ODBC with wire protocol is clearly faster (often by 40% to 80%).
|
Advantages of Using ODBC / Wire Protocol Drivers |
Disadvantages of Native Programming |
|---|---|
|
Faster than native programming This is possible because DataDirect drivers include many performance features such as network optimization. For example, DataDirect uses compressed data packets that are allowed by the architecture of our drivers, but not by the native interface the database uses. This means significantly fewer packets are transmitted across the wire, resulting in better application performance. In addition, DataDirect drivers don't use database client libraries to communicate with the database as other drivers do, instead accessing it directly through the database’s wire protocol. This eliminates the extra processing that occurs within the performance-inhibiting client libraries. |
|
|
More flexible DataDirect ODBC drivers also offer many interoperability features such as SQL Leveling that make coding to different databases even easier. |
Requires unique, non-portable code in the language of each database the application requires. In a heterogeneous database environment, this can add considerably to development costs. |
|
Improves developer productivity ODBC has other programming advantages:
|
Coding to the native interface of each database is time consuming. |
|
Lowers support costs And because DataDirect wire protocol drivers don’t require database client libraries, you don’t have to update these libraries every time there’s a change to the database version. |
You need different experts for each database you want to code to. |
|
Improves performance and maintenance of existing applications It also lowers your support costs because you don’t have to update your applications every time there are changes to the underlying databases. |
There are few options to improve the performance of a maturing application. Generally this has to come via a technical innovation in software or hardware. |

DataDirect's Performance Tuning Wizard takes the guesswork out of ODBC driver configuration and ensures optimal application performance-out-of-the-box. A simple-to-use wizard asks questions related to the target environment, then automatically generates the connection properties needed for optimal performance.




