mike watkins dot ca : Object DB vs Relational DB

Object DB vs Relational DB

My oh my, I’m treading on religious war and flamefest territory lately, although I have no intent to raise hackles. Ryan observed

There are a whole range of situations for which these issues aren’t really issues at all and relational persistence has its own set of issues. But in my experience, making the decision between ZODB and relational has been less about what’s better for the code and more about what’s better for the data.

Absolutely.

There are a great many situations where data might be better off in a SQL db, particularly when integration with other applications not of our making, or other tools, is required. This isn’t so much an argument against Object Databases as it is a comment on the ubiquity of SQL (and tools which support it) in the enterprise.

On the other hand, if I don’t have to play nice with other apps, and if the app doesn’t call for a relational db approach, I sure enjoy designing objects without having to think about SQL. Maybe its just a nice change of pace for me. If anything, being forced to think about what I do miss about not having SQL at my right hand is probably influencing my object design for the better.

Regarding Ryan’s comment ”let’s put everything in ZODB”, I know he didn’t mean it in this context, but I would never put some things in ZODB or Durus, including:

  • Big lumps of content, especially relatively static content
  • Big blobby items like images and many binary formats. That’s what file systems are for!
  • My children