Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Any good/bad experiences using DB4O?

 
Dan Kim
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello, I created a simple web-based survey application using servlets, Hibernate, and MySQL. Out of sheer curiosity and boredom, I wanted to see if a full OODB version is more efficient than my current RDB version, so I went ahead and tried to create an OODB version of my web survey application using DB4O. I was able to do so, but it appears I have to write extensively more code to duplicate SQL's group by functionality. I am now in the process of improving my db4o version by creating a class that will encapsulate my survey responses and also has a method to calculate the qty and % of total for each response.

I actually posted at the db4o user forum, but was wondering what the ranchers here think :-) So far I actually enjoy using db4o. I think it is refreshing that I don't have to rely on O/R mapping. But it's been somewhat difficult since I am "tainted" with prior RDB experience. I feel like that character in the movie "Firefox" with Clint Eastwood in it. "This is very important Mr. Gant. You must think in Russian. You can't think in English and transpose it." :-)

http://developer.db4o.com/forums/thread/52447.aspx
 
Gerbrand van Dieijen
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Like you already stated in the db40 site, an important drawback of object-databases is not having aggregations.
Calculating a sum, avg, max, group by, etc. requires more code and more resources then in relation databases. For SQL that's just one query, while for object-database you might need several lines of code.

Also joins or unions are also harder, although I don't know db40 too well to be sure about that.

From what I've read/found: an object-database is much faster at retrieving a single complex object(-graph). However, a relation database is much-faster at retrieving a lot of records/rows at the same time. Especially for reporting this can be a great disadvantage.

However, I'm (also) curious what other people think.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic