Compare with
Comparison of DataNucleus with HSQLDB server vs OpenJPA with H2 embedded
Each of the following tables focuses on a specific database operation, where the last table presents average results comparison.
Speed comparison of JPA database persistence operations (normalized score, higher is better)
Transaction Size => | Few Entities | Many Entities | Average Score | |||
---|---|---|---|---|---|---|
  | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded |
Basic Person Test | failed | 9.7 | failed | 7.7 | failed | 8.7 |
Element Collection Test | failed | 10.3 | failed | 7.4 | failed | 8.9 |
Inheritance Test | failed | 5.2 | failed | 6.6 | failed | 5.9 |
Indexing Test | failed | 9.2 | failed | 8.7 | failed | 9.0 |
Graph (Binary Tree) Test | failed | 3.4 | failed | 2.7 | failed | 3.0 |
Multithreading Test | failed | 7.5 | failed | 0.0000 | failed | 3.7 |
All Tests | failed | 7.5 | failed | 5.5 | failed | 6.5 |
DataNucleus with HSQLDB server has failed in 12 tests (see exceptions).
Speed comparison of JPA database retrieval operations (normalized score, higher is better)
Retrieval Size => | Few Entities | Many Entities | Average Score | |||
---|---|---|---|---|---|---|
  | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded |
Basic Person Test | failed | 11.4 | failed | 46.6 | failed | 29.0 |
Element Collection Test | failed | 1.4 | failed | 33.1 | failed | 17.3 |
Inheritance Test | failed | 5.6 | failed | 37.6 | failed | 21.6 |
Indexing Test | failed | 5.8 | failed | 39.3 | failed | 22.5 |
Graph (Binary Tree) Test | failed | 0.86 | failed | 0.90 | failed | 0.88 |
Multithreading Test | failed | 14.0 | failed | 38.9 | failed | 26.4 |
All Tests | failed | 6.5 | failed | 32.7 | failed | 19.6 |
DataNucleus with HSQLDB server has failed in 12 tests (see exceptions).
Speed comparison of JPA database query operations (normalized score, higher is better)
Retrieval Size => | Few Entities | Many Entities | Average Score | |||
---|---|---|---|---|---|---|
  | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded |
Basic Person Test | failed | 5.7 | failed | 24.0 | failed | 14.9 |
Element Collection Test | failed | 3.6 | failed | 7.1 | failed | 5.4 |
Inheritance Test | failed | 1.1 | failed | 9.3 | failed | 5.2 |
Indexing Test | failed | 14.3 | failed | 24.2 | failed | 19.3 |
Multithreading Test | failed | 3.1 | failed | 7.2 | failed | 5.1 |
All Tests | failed | 5.6 | failed | 14.4 | failed | 10.0 |
DataNucleus with HSQLDB server has failed in 10 tests (see exceptions).
Speed comparison of JPA database update operations (normalized score, higher is better)
Transaction Size => | Few Entities | Many Entities | Average Score | |||
---|---|---|---|---|---|---|
  | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded |
Basic Person Test | failed | 14.2 | failed | 11.2 | failed | 12.7 |
Element Collection Test | failed | 6.5 | failed | 15.2 | failed | 10.9 |
Inheritance Test | failed | 4.0 | failed | 14.9 | failed | 9.5 |
Indexing Test | failed | 43.0 | failed | 16.2 | failed | 29.6 |
Graph (Binary Tree) Test | failed | 3.3 | failed | 2.2 | failed | 2.7 |
Multithreading Test | failed | 8.2 | failed | 6.3 | failed | 7.2 |
All Tests | failed | 13.2 | failed | 11.0 | failed | 12.1 |
DataNucleus with HSQLDB server has failed in 12 tests (see exceptions).
Speed comparison of JPA database removal operations (normalized score, higher is better)
Transaction Size => | Few Entities | Many Entities | Average Score | |||
---|---|---|---|---|---|---|
  | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded |
Basic Person Test | failed | 55.8 | failed | 26.5 | failed | 41.1 |
Element Collection Test | failed | 26.3 | failed | 3.0 | failed | 14.6 |
Inheritance Test | failed | 26.7 | failed | 23.0 | failed | 24.8 |
Indexing Test | failed | 100 | failed | 13.7 | failed | 56.8 |
Graph (Binary Tree) Test | failed | 12.5 | failed | 40.6 | failed | 26.5 |
Multithreading Test | failed | 20.9 | failed | 0.0000 | failed | 10.4 |
All Tests | failed | 40.4 | failed | 17.8 | failed | 29.1 |
DataNucleus with HSQLDB server has failed in 12 tests (see exceptions).
Comparison of JPA/Database speed - the averages (normalized score, higher is better)
Transaction/Retrieval Size | Few Entities | Many Entities | Average Score | |||
---|---|---|---|---|---|---|
  | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded | DataNucleus HSQLDB server | OpenJPA H2 embedded |
Basic Person Test | failed | 19.4 | failed | 23.2 | failed | 21.3 |
Element Collection Test | failed | 9.6 | failed | 13.2 | failed | 11.4 |
Inheritance Test | failed | 8.5 | failed | 18.3 | failed | 13.4 |
Indexing Test | failed | 34.5 | failed | 20.4 | failed | 27.4 |
Graph (Binary Tree) Test | failed | 5.0 | failed | 11.6 | failed | 8.3 |
Multithreading Test | failed | 10.7 | failed | 10.5 | failed | 10.6 |
All Tests | failed | 14.9 | failed | 16.4 | failed | 15.6 |
Other Head to Head DBMS/JPA Comparisons
DataNucleus with HSQLDB server against:
- Oracle Database 11g
- IBM DB2 10
- Microsoft SQL Server 2008
- DataNucleus with Derby embedded
- DataNucleus with H2 embedded
- DataNucleus with HSQLDB embedded
- DataNucleus with SQLite embedded
- DataNucleus with DB4O embedded
- DataNucleus with Derby server
- DataNucleus with H2 server
- DataNucleus with MySQL server
- DataNucleus with PostgreSQL server
- EclipseLink with Derby embedded
- EclipseLink with H2 embedded
- EclipseLink with HSQLDB embedded
- EclipseLink with Derby server
- EclipseLink with H2 server
- EclipseLink with HSQLDB server
- EclipseLink with MySQL server
- EclipseLink with PostgreSQL server
- Hibernate with Derby embedded
- Hibernate with H2 embedded
- Hibernate with HSQLDB embedded
- Hibernate with Derby server
- Hibernate with H2 server
- Hibernate with HSQLDB server
- Hibernate with MySQL server
- Hibernate with PostgreSQL server
- OpenJPA with Derby embedded
- OpenJPA with H2 embedded
- OpenJPA with HSQLDB embedded
- OpenJPA with Derby server
- OpenJPA with H2 server
- OpenJPA with HSQLDB server
- OpenJPA with MySQL server
- OpenJPA with PostgreSQL server
- ObjectDB embedded
- ObjectDB server
OpenJPA with H2 embedded against:
- Oracle Database 11g
- IBM DB2 10
- Microsoft SQL Server 2008
- DataNucleus with Derby embedded
- DataNucleus with H2 embedded
- DataNucleus with HSQLDB embedded
- DataNucleus with SQLite embedded
- DataNucleus with DB4O embedded
- DataNucleus with Derby server
- DataNucleus with H2 server
- DataNucleus with HSQLDB server
- DataNucleus with MySQL server
- DataNucleus with PostgreSQL server
- EclipseLink with Derby embedded
- EclipseLink with H2 embedded
- EclipseLink with HSQLDB embedded
- EclipseLink with Derby server
- EclipseLink with H2 server
- EclipseLink with HSQLDB server
- EclipseLink with MySQL server
- EclipseLink with PostgreSQL server
- Hibernate with Derby embedded
- Hibernate with H2 embedded
- Hibernate with HSQLDB embedded
- Hibernate with Derby server
- Hibernate with H2 server
- Hibernate with HSQLDB server
- Hibernate with MySQL server
- Hibernate with PostgreSQL server
- OpenJPA with Derby embedded
- OpenJPA with HSQLDB embedded
- OpenJPA with Derby server
- OpenJPA with H2 server
- OpenJPA with HSQLDB server
- OpenJPA with MySQL server
- OpenJPA with PostgreSQL server
- ObjectDB embedded
- ObjectDB server