clyfe
clyfe

Reputation: 23770

When NOT to use NoSQL?

There was an article on Hacker News a couple of days ago that reached first page titled something like
"2 cases when not to use Mongodb" but I really can't find it anymore...

  1. Does anyone know where I can find the above described article?
  2. What cases are there when NoSQL fails?

Upvotes: 14

Views: 8776

Answers (3)

bosmacs
bosmacs

Reputation: 7483

We use MongoDB for storing tons and tons of analytics data for which we don't care if some stuff occasionally gets lost in a server crash. The data really fits MongoDB well and it would have been a nightmare if we were to use an SQL database for this. But for bank transactions we wouldn't even consider MongoDB. The write lock might be a problem for some people. On the other hand MongoDB supports easy sharding, much easier than with SQL. Sharding allows us to scale horizontally which is a huge plus for our data.

  1. http://news.ycombinator.com/item?id=1691748

Upvotes: 8

Paul Nathan
Paul Nathan

Reputation: 40319

You don't want to use NoSQL typically when you....

... don't want to use SQL! /hardy har har

Most of the NoSQL solutions I've seen seem to fall in the key-value store approach, and aren't relational. They tend to give up ACID properties.

So when you evaluate a database system, when you don't need ACID, when you don't want relational algebra, when you do have a need for a KV store, then the NoSQL approach is your friend.

Note too that there is a wide variety of 'NoSQL' systems, and they all are busily working on slightly different approaches.

Upvotes: 0

nvogel
nvogel

Reputation: 25534

By any reasonable definition "NoSQL" ought to include non-SQL RDBMSs in its scope (because there's no sound reason why the relational model can't address the same requirements as other NoSQL models). If you accept that, then there is no limit to what NoSQL DBMSs could do. We would have no more need of SQL - ever!

Sadly, there seems to be a common assumption among NoSQL thought leaders that "NoSQL" has to mean "not relational". That is highly unfortunate because if the relational model is ignored then NoSQL is never likely to replace SQL for many purposes. (I take it for granted that finding a long-term, relational model replacement for SQL would actually be a good thing :)

Upvotes: 0

Related Questions