neal aise
neal aise

Reputation: 895

How to: SQL or NOSQL?

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

Answers (3)

Ravi Vyas
Ravi Vyas

Reputation: 12375

There are various factors which one may use to select a DB implementation, some of them are:

  1. Cost : NoSQL DBs lean more towards the open source , cheaper side
  2. Scalability : NoSQL can scale better with cheaper hardware
  3. If you have too many joins you should go for a traditional RDBMS
  4. Consistency guarantees can vary based on the solution used w.r.t NoSQL

You can also check out the following podcast : "Episode 165: NoSQL and MongoDB with Dwight Merriman" on SE Radio.

Upvotes: 2

TTT
TTT

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

nvogel
nvogel

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

Related Questions