Compare with

Comparison of ObjectDB embedded vs EclipseLink with SQLite 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 EntitiesMany EntitiesAverage Score
 ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
Basic Person Test1000.0741000.901000.49
Element Collection Test1000.0611000.651000.36
Inheritance Test1000.0831000.821000.45
Indexing Test1000.111001.61000.87
Graph (Binary Tree) Test88.40.241000.9194.20.57
Multithreading Test1000.101002.11001.1
All Tests98.10.111001.299.00.64

The results above show that in general ObjectDB embedded is much more efficient than EclipseLink with SQLite embedded in persisting JPA entity objects to the database. Comparing the normalized speed of EclipseLink with SQLite embedded database (0.64) to the normalized speed of ObjectDB embedded database (99.0) reveals that in these tests, ObjectDB embedded is 155 times faster than EclipseLink with SQLite embedded.

A huge performance gap has been detected when using JPA element collections with small transaction size. Comparing the normalized speed of EclipseLink with SQLite embedded database (0.061) to the normalized speed of ObjectDB embedded database (100) reveals that in that case, ObjectDB embedded is 1,639 times faster than EclipseLink with SQLite embedded.

Speed comparison of JPA database retrieval operations (normalized score, higher is better)

Retrieval Size =>Few EntitiesMany EntitiesAverage Score
 ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
Basic Person Test100failed100failed100failed
Element Collection Test1000.0007100failed1000.0007
Inheritance Test100failed100failed100failed
Indexing Test100failed100failed100failed
Graph (Binary Tree) Test100failed100failed100failed
Multithreading Test100failed100failed100failed
All Tests1000.0007100failed1000.0007

EclipseLink with SQLite embedded has failed in 11 tests (see exceptions).

Speed comparison of JPA database query operations (normalized score, higher is better)

Retrieval Size =>Few EntitiesMany EntitiesAverage Score
 ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
Basic Person Test1001.2100failed1001.2
Element Collection Test1000.29100failed1000.29
Inheritance Test1000.69100failed1000.69
Indexing Test1000.0008100failed1000.0008
Multithreading Test100failed100failed100failed
All Tests1000.55100failed1000.55

EclipseLink with SQLite embedded has failed in 6 tests (see exceptions).

Speed comparison of JPA database update operations (normalized score, higher is better)

Transaction Size =>Few EntitiesMany EntitiesAverage Score
 ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
Basic Person Test100failed100failed100failed
Element Collection Test1000.0016100failed1000.0016
Inheritance Test100failed100failed100failed
Indexing Test100failed100failed100failed
Graph (Binary Tree) Test100failed100failed100failed
Multithreading Test100failed100failed100failed
All Tests1000.0016100failed1000.0016

EclipseLink with SQLite embedded has failed in 11 tests (see exceptions).

Speed comparison of JPA database removal operations (normalized score, higher is better)

Transaction Size =>Few EntitiesMany EntitiesAverage Score
 ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
Basic Person Test100failed100failed100failed
Element Collection Test1000.0006100failed1000.0006
Inheritance Test100failed100failed100failed
Indexing Test100failed100failed100failed
Graph (Binary Tree) Test100failed100failed100failed
Multithreading Test100failed100failed100failed
All Tests1000.0006100failed1000.0006

EclipseLink with SQLite embedded has failed in 11 tests (see exceptions).

Comparison of database storage efficiency (normalized score, higher is better)

Transaction Size =>Few EntitiesMany EntitiesAverage Score
 ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
Basic Person Test10079.410079.410079.4
Element Collection Test10074.510074.510074.5
Inheritance Test10075.010075.010075.0
Indexing Test10092.910094.510093.7
Graph (Binary Tree) Test10060.610048.410054.5
Multithreading Test91.110022.010056.6100
All Tests98.580.487.078.692.879.5

The results above show that in general ObjectDB embedded is slightly more efficient than EclipseLink with SQLite embedded in using disk space.

A large gap has been detected when using graphs of objects with large transaction size. Comparing the normalized score of EclipseLink with SQLite embedded database (48.4) to the normalized score of ObjectDB embedded database (100) reveals that in that case, ObjectDB embedded is 2.1 times more efficient than EclipseLink with SQLite embedded.

On the other hand, ObjectDB embedded is slower, for instance, when using multithreading with large transaction size. Comparing the normalized score of ObjectDB embedded database (22.0) to the normalized score of EclipseLink with SQLite embedded database (100) reveals that in that case, ObjectDB embedded is 4.5 times less efficient than EclipseLink with SQLite embedded.

Comparison of JPA/Database speed - the averages (normalized score, higher is better)

Transaction/Retrieval SizeFew EntitiesMany EntitiesAverage Score
 ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
ObjectDB embeddedEclipseLink
SQLite embedded
Basic Person Test1000.661000.901000.74
Element Collection Test1000.0701000.651000.17
Inheritance Test1000.381000.821000.53
Indexing Test1000.0581001.61000.58
Graph (Binary Tree) Test97.10.241000.9198.50.57
Multithreading Test1000.101002.11001.1
All Tests99.60.221001.299.80.52

The results above show that in general ObjectDB embedded is much more efficient than EclipseLink with SQLite embedded in performing JPA database operations. Comparing the normalized speed of EclipseLink with SQLite embedded database (0.52) to the normalized speed of ObjectDB embedded database (99.8) reveals that in these tests, ObjectDB embedded is 192 times faster than EclipseLink with SQLite embedded.

A huge performance gap has been detected when using database indexes with small transaction/retrieval size. Comparing the normalized speed of EclipseLink with SQLite embedded database (0.058) to the normalized speed of ObjectDB embedded database (100) reveals that in that case, ObjectDB embedded is 1,724 times faster than EclipseLink with SQLite embedded.

Other Head to Head DBMS/JPA Comparisons