Download Now

Benchmark db4o Open Source Object Database

  • Native to Java and .NET
  • 100% object-oriented, no object-relational mapping
  • Designed for embedded use
  • Open source and free under the GPL


The Headstart You Need on Your Development Time.

Embed db4o, the native Java and .NET object database engine, into your product and store even the most complex object structures with only one line of code!

db4o slashes development cost and time, provides superior performance, and requires no DBA.

Download and test drive the world's most popular object database! It's free and open source under the GPL, no registration is required!


The Pole Position Database Benchmark

db4o is fast. In the PolePosition open source database benchmark db4o displays significant performance advantages, especially when it comes to storing complex object structures. Several "circuits" represent different use cases. You can download, modify, and run them for yourself.

The Barcelona circuit, for instance, shows transaction performance (100 selects on 30,000 objects over 5 levels of inheritance structures) for different database products and data access methods. As you can plainly see, resolving the object-relational mismatch by using an object-relational mapper like Hibernate or VOA (JDO) costs a lot of performance. db4o overcomes the trade-off between object-orientation and speed: You can now store objects natively and enjoy great performance gains.

Barcelona Benchmarks read write query delete
Native/db4o 6.4 1.0 1.0 1.0 1.0
Hibernate/hsqldb 15.8 3.7 2,583.1 4.3
Hibernate/mysql 48.0 26.1 14.4 26.9
JDBC/MySQL 40.8 19.5 9.3 15.8
JDBC/JavaDB 27,843.7 20.5 47,993.1 17.7
JDBC/HSQLDB* 1.9 1.1 2,554.4 0.5
JDBC/SQLite 8.8 519.1 1.1 362.1
* JDBC/HSQLDB not ACID transaction safe
fastest
slowest

Benchmarks always depend on the nature of a tested task. The PolePosition authors deserve credit because they show which database is a good fit for which task. The rule of thumb is: The flatter and simpler the data, the better you perform with direct SQL access to relational databases, e.g. by JDBC. When object structures become more complex, you can not afford to ignore object databases. If performance is of concern, then Hibernate, VOA (JDO) or other object-relational mapper solutions are not a viable choice, because their negative impact on performance is dramatic.

Below are other benchmark "circuits" that demonstrate different use cases:

  • Melbourne - writes 100,000 unstructured flat objects of one kind in bulk mode
  • Bahrain - writes 30,000 simple flat objects individually
  • Sepang - writes an object tree of depth 14
  • Imola - retrieves 300,000 objects by native ID
Other Benchmarks Melbourne Bahrain Sepang Imola
Native/db4o 6.4 1.0 1.0 1.0 1.0
Hibernate/hsqldb 3.1 1.3 2.7 5.9
Hibernate/mysql 7.4 4.1 10.9 32.2
JDBC/MySQL 3.8 2.6 7.2 18.3
JDBC/JavaDB 1.8 2.1 407.0 5.7
JDBC/HSQLDB* 0.2 0.2 1.0 0.4
JDBC/SQLite 100.3 62.5 154.8 5.8
* JDBC/HSQLDB not ACID transaction safe
fastest
slowest


User Voices


        "I believe I shaved at least four months worth of development using db4o's object database approach, as I know how long it takes to engineer the equivalent solution using traditional technology...
        Before I settled for db4o, I evaluated Apache Derby, MySQL, Daffodil One$DB, Sqlite, and Berkeley."

                --David Tran, Transcraft

        "For our environment, db4o's open source database offers a much better fit compared to the alternative of a relational database plus an object-relational mapper.
        db4o runs up to four times faster persisting object data, and up to 50% faster querying for objects.

                --Sean DeMartino, INTEL

        "I'm very pleased! db4o is truly powerful and *insanely* easy to use..."
                --Zambizzi, User