Comparison of OpenJPA with HSQLDB server vs DataNucleus with MySQL server
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 | |||
---|---|---|---|---|---|---|
  | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server |
Basic Person Test | failed | 1.4 | failed | 6.3 | failed | 3.9 |
Element Collection Test | failed | 1.5 | failed | 3.2 | failed | 2.3 |
Inheritance Test | failed | 0.83 | failed | 6.2 | failed | 3.5 |
Indexing Test | failed | 1.8 | failed | 6.9 | failed | 4.3 |
Graph (Binary Tree) Test | failed | 2.3 | failed | 3.2 | failed | 2.8 |
Multithreading Test | failed | 2.0 | failed | 0.0000 | failed | 1.0 |
All Tests | failed | 1.6 | failed | 4.3 | failed | 3.0 |
OpenJPA 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 | |||
---|---|---|---|---|---|---|
  | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server |
Basic Person Test | failed | 0.72 | failed | 5.5 | failed | 3.1 |
Element Collection Test | failed | 0.38 | failed | 1.1 | failed | 0.75 |
Inheritance Test | failed | 0.66 | failed | 4.3 | failed | 2.5 |
Indexing Test | failed | 0.60 | failed | 7.0 | failed | 3.8 |
Graph (Binary Tree) Test | failed | 1.6 | failed | 3.8 | failed | 2.7 |
Multithreading Test | failed | 0.72 | failed | 2.0 | failed | 1.4 |
All Tests | failed | 0.78 | failed | 4.0 | failed | 2.4 |
OpenJPA 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 | |||
---|---|---|---|---|---|---|
  | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server |
Basic Person Test | failed | 0.085 | failed | 0.59 | failed | 0.34 |
Element Collection Test | failed | 0.32 | failed | 0.51 | failed | 0.42 |
Inheritance Test | failed | 0.18 | failed | 0.79 | failed | 0.49 |
Indexing Test | failed | 0.094 | failed | 1.1 | failed | 0.59 |
Multithreading Test | failed | failed | failed | failed | failed | failed |
All Tests | failed | 0.17 | failed | 0.74 | failed | 0.46 |
OpenJPA with HSQLDB server has failed in 10 tests (see exceptions). DataNucleus with MySQL server has failed in 2 tests (see exceptions).
Speed comparison of JPA database update operations (normalized score, higher is better)
Transaction Size => | Few Entities | Many Entities | Average Score | |||
---|---|---|---|---|---|---|
  | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server |
Basic Person Test | failed | 0.15 | failed | 0.54 | failed | 0.34 |
Element Collection Test | failed | 0.25 | failed | 0.54 | failed | 0.40 |
Inheritance Test | failed | 0.16 | failed | 0.81 | failed | 0.48 |
Indexing Test | failed | 0.43 | failed | 0.84 | failed | 0.64 |
Graph (Binary Tree) Test | failed | 0.35 | failed | 0.27 | failed | 0.31 |
Multithreading Test | failed | failed | failed | failed | failed | failed |
All Tests | failed | 0.27 | failed | 0.60 | failed | 0.44 |
OpenJPA with HSQLDB server has failed in 12 tests (see exceptions). DataNucleus with MySQL server has failed in 2 tests (see exceptions).
Speed comparison of JPA database removal operations (normalized score, higher is better)
Transaction Size => | Few Entities | Many Entities | Average Score | |||
---|---|---|---|---|---|---|
  | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server |
Basic Person Test | failed | 0.88 | failed | 0.81 | failed | 0.84 |
Element Collection Test | failed | 1.1 | failed | 0.25 | failed | 0.68 |
Inheritance Test | failed | 1.1 | failed | 0.59 | failed | 0.83 |
Indexing Test | failed | 1.7 | failed | 0.57 | failed | 1.2 |
Graph (Binary Tree) Test | failed | 3.3 | failed | 5.2 | failed | 4.3 |
Multithreading Test | failed | 0.94 | failed | 0.0000 | failed | 0.47 |
All Tests | failed | 1.5 | failed | 1.2 | failed | 1.4 |
OpenJPA 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 | |||
---|---|---|---|---|---|---|
  | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server | OpenJPA HSQLDB server | DataNucleus MySQL server |
Basic Person Test | failed | 0.64 | failed | 2.8 | failed | 1.7 |
Element Collection Test | failed | 0.71 | failed | 1.1 | failed | 0.92 |
Inheritance Test | failed | 0.58 | failed | 2.5 | failed | 1.6 |
Indexing Test | failed | 0.92 | failed | 3.3 | failed | 2.1 |
Graph (Binary Tree) Test | failed | 1.9 | failed | 3.1 | failed | 2.5 |
Multithreading Test | failed | 1.2 | failed | 0.68 | failed | 0.96 |
All Tests | failed | 0.95 | failed | 2.3 | failed | 1.6 |
Other Head to Head DBMS/JPA Comparisons
OpenJPA 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 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 H2 embedded
- OpenJPA with HSQLDB embedded
- OpenJPA with Derby server
- OpenJPA with H2 server
- OpenJPA with MySQL server
- OpenJPA with PostgreSQL server
- ObjectDB embedded
- ObjectDB server
DataNucleus with MySQL 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 HSQLDB 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