April 08, 2008
Life in the old dog yet

I've had some pushback from Felix over my relational databases aren't dead yet post. He points to db4o.

Now, I've not used db4o, but I've tried out ZODB, and very good it is too. especially with a dynamic language it's really nice to be able to tag arbitrary attributes onto your objects, and to be able to persist and retrieve them complete.

But still, I've be wary of using one for a real project. Performance aside, there are things that you just can't do as easily with an ODBMS as with an RDBMS. I'm thinking of things like:

  • Report writing
  • Data loading
  • Data exploration (especially during debugging)

Also, I find it hard to imagine that an ODBMS can be optimized to the same extent as something as notionally simple as a relational database can be.

All this is leaving aside things that don't yet exist AFAIK but which are probably just a small matter of programming - management tools, clustering, that kind of thing.

No, I'll be sticking with the RDBMS for the foreseeable.

Posted to Software development by Simon Brunning at April 08, 2008 04:49 PM
Comments

Exactly, when non-relational stores allow me to perform aggregate operations on data (in arbitrary languages) I'll start looking at them.

Posted by: Andy Todd on April 9, 2008 01:34 AM

Well you could use a variation of the technique we used at Dixons. Simply load/replicate your data into a relational database for your reporting tools.

I think people are getting a little over-excited about non-relational storage systems. They're only really useful if you have very large amounts of data. Otherwise the overhead (in implementing stuff you get out of the box with any decent relational database) isn't worthwhile. Unfortunately most organisations don't actually have very large datasets...yet. When they do the early adopters will suddenly find their skills are in demand.

Till then I think most people are better off sticking with relational databases.

Posted by: ade on April 9, 2008 02:03 PM
Post a comment
Name:


Email Address:


URL:



Comments:


Remember info?