Question

We're in the process of choosing a new design for our application (DB change included) and we were considering object databases (specifically db4o).

We've built a benchmark test and surprisingly, so far, all tests point that a Hibernate + MySQL implementation is faster at retrieving than an object database.

Granted, there are a lot of variables depending on how the test was designed and run, the test dataset and so on, however if I'm reading the below results correctly:

http://www.jpab.org/Hibernate/MySQL/server/DataNucleus/DB4O/embedded.html

This also shows a MySQL implementation to be better.

What we would like ton know is what could make object databases slower as opposed to MySQL (bad-practices let's say) and how could one avoid them. And if they are indeed slower, then what are the advantages of such a DB (so far we've mostly been reading about read/write speeds of object dbs as being higher than SQL ones).

Was it helpful?

Solution

Not all the object databases are equal, some are faster and some are much slower.

Since you mentioned JPAB, you should also check other pages, e.g. http://www.jpab.org/Hibernate/MySQL/server/ObjectDB/ObjectDB/embedded.html

But also consider that the page that you mentioned shows that the combination of DataNucleus with db4o is extremely slow. It says nothing about db4o without DataNucleus or DataNucleus without db4o, which may be better. Anyway, there are other object databases, including Versant Object Database and our own ObjectDB, which are much faster.

Try to create a test application in which MySQL/Hibernate is faster than Versant Object Database, ObjectStore or ObjectDB, and you will see that it is much more difficult.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top