Apache Derby - a Pure Java Database

Derby Performance Summary

The following charts show the performance of Derby (in green) relatively to other JPA/DBMS combinations (in gray).

Position #1 on the X-Axis (the fastest) is about 100 times faster than position #32 (the slowest).
In the chart below the Y-Axis represents result score (maximum 100) in logarithmic scale - higher is better:
JPA performance benchmark comparision Hibernate, EclipseLink, OpenJPA, DataNucleus, ObjectDB
In the chart below the Y-Axis represents result score (maximum 100) in linear scale - higher is better:
JPA performance benchmark comparision Hibernate, EclipseLink, OpenJPA, DataNucleus, ObjectDB


The configurations in which Derby has been tested are listed in the following table:

 Database + JPA ProviderNormalized Score
100 - Best,  0 - Worst
Final Position
1 - Best,  32 - Worst
Failed Tests
1EclipseLink with Derby embedded14.64  (out of 32)2
2Hibernate with Derby embedded11.47  (out of 32)0
3DataNucleus with Derby embedded6.212  (out of 32)15
4OpenJPA with Derby embedded5.417  (out of 32)10
5Hibernate with Derby server5.219  (out of 32)0
6EclipseLink with Derby server4.122  (out of 32)2
7DataNucleus with Derby server2.825  (out of 32)15
8OpenJPA with Derby server2.826  (out of 32)38

As shown above, the performance and stability are highly dependent on the JPA provider. Derby is faster and more stable
(in both client-server and embedded modes) when used with EclipseLink or Hibernate. In addition, analysis of the results reveals that Derby is fast mainly in retrieval and queries but it is relatively slow in insert/update/delete operations.

About Apache Derby

Derby is a popular pure Java RDBMS, developed by the Apache Software Foundation.

The first version was released in 1997 by Cloudscape. First it was called JBMS and later it was renamed to Cloudscape. Cloudscape was acquired by Informix in 1999 and then by IBM (with the Informix database) in 2001. The Cloudscape database code has been contributed by IBM to Apache in 2004. Derby is also packaged by Sun in JDK 6 under the name Java DB.

Derby is available under the Apache open source license.

In this benchmark Apache Derby version 10.6.1.0 (which was released in 2010) has been tested.

Both client-server and embedded mode are supported by Derby and were tested in this benchmark.