Editorials

All or Nothing

I find it interesting that my peers, each with many decades each of programming, find the place of hierarchical databases to be defunct. I don’t want to be argumentative, or negate anyone’s point of view. The main point was, we have had hierarchical databases before, and moved away from them, because relational was better.

I think most people would agree that if Google made the attempt to build their platform on a relational database we would not be where we are today. They denied the tried and true data storage model, and built something highly scalable, redundant, efficient, and affordable.

To be fair, Google is a very specific application for indexing search words or phrases, and quickly locating web addresses matching search criteria. Very few applications, commercial or in house, have this sole purpose, and benefit from data storage designed around that specific problem.

On the other side of the fence, I have seen applications that generate data, packaged in a nice, contiguous object model, completely autonomous, gaining no value from relationships, being pressed into relational data storage, because “that is how it’s done.” This data is a snapshot in time. Reports are not produced across multiple instances. Each one stands alone. Why do we need spend even one hour (usually days or more) translating it into a relational database structure? What is the gain?

Tomorrow I’ll get into some more practical reasons why we don’t consider using a no-sql solution that I find more compelling than, we did it before and it didn’t work.

Thanks for the solid feedback folks. I hear your voice, and support it in many situations. But I think there is room for more. A better question I might ask is, “What are the guidelines for selecting one solution over the other?”

Cheers,

Ben