Tuesday, October 6, 2009

NOSQL Movement

Was doing the usual work when I came across a new Wikipedia entry proclaiming the beginning of a new database movement dubbed NOSQL.

http://en.wikipedia.org/wiki/Nosql

Great to see there are a bunch of people out there thinking along the same lines. I see this movement as an indicator that the original NOSQL database movement, the Object Database movement, was clearly way ahead of it's time. Finally we are starting to see things getting sufficiently large scale that people are experiencing the short comings of using traditional relational database technology and are coming to terms with the fact that in the ever challenging world of data management, one size does not fit all.

For those developers having these same horizontal scale issues, but need something that can handle more than distributed storage of key/value pairs, should look at object databases like Versant which can handle to distribution of object graphs and come with other bells and whistles like distributed parallel query execution.

I think that last point, distributed parallel query is an important one. It took the object database industry a while to come to terms with the importance of such a feature. While one can use object roots with navigation and conceivably never issue a single query (NOSQL) , in most applications, you will get much better performance if you compliment a navigation based system with query engine. You query to select a set of objects which represent an arbitrary root to a use case, then you use the power of navigation and model base algorithms to process the use case without the necessity for further complex JOINs... instead leveraging a robust, rich object model. When you use these two together, it's the one-two punch for a sure fire K.O.

... and the winner is: NOT ALWAYS THE RELATIONAL DATABASE