H2 Pure Java Database

H2 Performance Summary

The following charts show the performance of H2 (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 H2 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
1Hibernate with H2 embedded12.55  (out of 32)0
2EclipseLink with H2 embedded12.36  (out of 32)2
3DataNucleus with H2 embedded4.320  (out of 32)4
4EclipseLink with H2 server3.423  (out of 32)2
5Hibernate with H2 server3.124  (out of 32)0
6OpenJPA with H2 server1.130  (out of 32)2
7DataNucleus with H2 server1.031  (out of 32)7
8OpenJPA with H2 embedded0.9032  (out of 32)10

As shown above, the performance and stability are highly dependent on the JPA provider. H2 is faster and more stable
(in both client-server and embedded modes) when used with EclipseLink or Hibernate.

About H2 Database

H2 Database is a popular pure Java RDBMS. Its first version was released in 2005.

H2 is available under a modified version of the Mozilla Public License (MPL) license or under the Eclipse Public License (EPL).

In this benchmark H2 version 1.2.141 (which was released in 2010) has been tested.

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