So far a majority of the posts here on NoSQLDatabases.com have been about a number of different types of NoSQL data stores such as the column, key/value or document based solutions. One area we have not focused on is graph oriented data stores. Well that officially changes now.
InfoQ presents a very in depth post by Peter Neubauer, who happens to be one of the founders of the open source graph data store Neo4J. In the post he points out in his mind two very important aspects of NoSQL data stores, scalability and complexity.
With regards to scalability the article has this to say:
Many of the NOSQL databases above all have loosened up the requirements on Consistency in order to achieve better Availability and Partitioning. This resulted in systems know as BASE (Basically Available, Soft-state, Eventually consistent). These have no transactions in the classical sense and introduce constraints on the data model to enable better partition schemes (like the Dynamo system etc).
Peter goes on to say the following about complexity of the data that we are trying to store in relational databases:
The increasing interconnectivity of data as well as systems has led to denser data sets that cannot be scaled and autosharded in any obvious, simple or domain-independent way, even noted by Todd Hoff.
The post goes into greater detail about the relational model vs. the object graph and gives several examples of code in both Java and Ruby. It’s a really good post and recommend you check it out.
Read More: Graph Databases, NOSQL and Neo4j