Reputation: 895
I haven't been confronted with this yet, but this is what i think (very superficial and simplistic imho)
If you have a key value kind of storage and all you accesses are key lookups use the NOSQL solutions. If you want lookups based on values (and subvalues) or have something more complicated like joins you would go for a relational solution. Transactions = relational (am not too sure if nosql solutions support that notion yet) It also looks like NOSQL = denormalized (SQL) (i may be terribly mistaken here)
In general, any principles/guidelines/thumb rules to decide chosing the data model for your application.
Upvotes: 3
Views: 1332
Reputation: 12375
There are various factors which one may use to select a DB implementation, some of them are:
You can also check out the following podcast : "Episode 165: NoSQL and MongoDB with Dwight Merriman" on SE Radio.
Upvotes: 2
Reputation: 210
A document store like MongoDB can do a lot more than just the storing of key-value-pairs. MongoDB has rich index and search possibilities. You can do lookups on values (and subvalues) with MongoDB quite easily.
In a document store you can store 1:n relations in the same document. That means that there is less need to do joins. I don't say "no need to do joins" but I say "less need to do joins".
Upvotes: 2
Reputation: 25526
NOSQL is not a particular data model or paradigm for data access. It is used to refer to any number of non-SQL database technologies, typically those designed for distributed database applications.
Denormalization is generally a relational database term. It has nothing to do with NOSQL databases, most or all of which are not relational.
Upvotes: 1