I am looking for nosql key value stores that also provide for storing/maintaining relationships between stored entities. I know Google App Engine’s datastore allows for owned and unowned relationships between entities. Does any of the popular nosql store’s provide something similar?
Even though most of them are schema less, are there methods to appropriate relationships onto a key value store?
It belongs to the core features of graph databases to provide support for relationships between entities. Typically, you model your entities as nodes and the relationships as relationships/edges in the graph. Unlike RDBMS you don’t have to define relationships in advance — just add them to the graph as needed (schema-free). I created a domain modeling gallery giving a few examples of how this can look in practice. The examples use the Neo4j graphdb, a project I’m involved in. The mailing list of this project use to prove very helpful for graph modeling questions.
The document-oriented database Riak has support for links between documents.
You can add support for relationships on top of any database engine (like key/value), but it doesn’t come whithout work. It all comes down to your use case. If you provide more details it’s easier to come up with a useful answer.
Oops, now I saw that the title says “nosql store” and then your actual question narrows this down to “nosql key value store”. As key/value stores have no semantics for defining relationships between entities I’ll still post my answer.