Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are Object oriented databases still in use?

Quite a while ago, I heard about Object databases. Cool concept and all. Now, with the event of ORMs everywhere, does anyone still use any of the Object oriented Databases systems? Are they relevant? Are they practical?

like image 644
Loki Avatar asked Dec 09 '08 16:12

Loki


3 Answers

OO databases never got out of a niche market. They are good for some applications - where the data structure lends itself to being represented by an object graph - but never held the compelling advantage over a RDBMS to cross the chasm. The key advantage touted for OODBMS products is the tight integration to the host language - there is no object/relational impedance mismatch.

However, there are still several OODBMS vendors such as Gemstone, Versant or Cardinal who are doing quite nicely with their products. The technology is useful for some types of data structures and can be more efficient than a RDBMS but tends to be weak for ad-hoc queries compared to modern SQL dialects.

As various others have noted, Gemstone is getting a bit of attention due to their support for Seaside and Maglev (a port of Ruby to the Gemstone VM with Rails running on it). We may find this gets the nice folks from Gemstone a bit of press and with it a bit more attention to the OODBMS paradigm.

like image 62
ConcernedOfTunbridgeWells Avatar answered Sep 28 '22 07:09

ConcernedOfTunbridgeWells


In fact, database systems are one of the areas that fundamental changes are really hard. Billions of dollars are spent on relational database systems and they are working pretty well.

In real life, that's simply not true. A major reason for our problems with databases (I saw a claim 30% of all database rows contain errors) is the use of very primitive typing and validating in SQL. In addition, even though they are named relational, they are very bad at handling relations . The result is denormalized datamodels and resulting update errors.

The reason businesses like relational databases is because they are very predictable. They have to spend a lot of money on them, they need a lot of developers and maintenance doing mostly routine jobs. They fail to see the amount of duplication that could be eliminated as an advantage. The routine work allows developers to absorb the risks of the difficult work. Switching to an OODB would keep the less predictable work.

like image 27
Stephan Eggermont Avatar answered Sep 28 '22 06:09

Stephan Eggermont


Check out db4o.

like image 37
jkchong Avatar answered Sep 28 '22 05:09

jkchong