A long time ago, I learned about Object databases. Awesome concept and all sorts of. Now, using the event of ORMs everywhere, does anybody still use the Object oriented Databases systems? Could they be relevant? Could they be practical?

OO databases never got from a specialized niche. They are great for some programs - in which the data structure gives itself to being symbolized by an item graph - but never held the compelling edge on a RDBMS to mix the chasm. The important thing advantage recommended for OODBMS items may be the tight integration towards the host language - there's no object/relational impedance mismatch.

However, you will find still several OODBMS suppliers for example Gemstone, Versant or Cardinal who're doing quite nicely using their items. The sun's energy is helpful for some kinds of data structures and may become more efficient than the usual RDBMS but is commonly weak for ad-hoc queries in comparison to modern SQL dialects.

As various others have noted, Gem gets a little of attention because of their support for Seaside and Maglev (a port of Ruby towards the Gem VM with Rails running onto it). We might find this will get the excellent folks from Gem a little of press with it a little more focus on the OODBMS paradigm.

Actually, database systems is one of areas that fundamental changes are very hard. Vast amounts of money is allocated to relational database systems and they're working pretty much.

In tangible existence, that's not true. A significant reason behind our issues with databases (I saw claims 30% of database rows contain errors) is using very primitive typing and validating in SQL. Additionally, despite the fact that they're named relational, they're very bad at handling relations . It makes sense denormalized datamodels and resulting update errors.

The main reason companies like relational databases is because are extremely foreseeable. They need to spend lots of money in it, they need a ton of designers and maintenance doing mostly routine jobs. They neglect to see the quantity of duplication that may be removed being an advantage. The routine work enables designers to soak up the potential risks from the difficult work. Switching for an OODB would keep your less foreseeable work.

Take a look at db4o.

Actually, database systems are among the areas that fundamental changes are actually hard. Vast amounts of money is allocated to relational database systems and they're working pretty much. They're proven technology and they've been flexible enough to fulfill most needs (using ORM for instance, while you stated). Object databases are available really, even outdoors academia. Try not to anticipate seeing anything as large as SQL Server or Oracle for the reason that area in the near future. They are doing exist like a theory so that as small, application-specific databases as well as other items. Essentially, I predict relational databases be object oriented later on to deal with needs better.

We use Versant Object Database within the product Sometimes on. (Formerly FastObjects, formerly Poet database). This is an object database and that we discover that it really works a lot better than a relational model for many facets of our product, mainly storing configuration objects, interfacing with Java code.

See also this formerly requested question: http://stackoverflow.com/questions/52144/object-oriented-database-encounters