Don’t Replace SQL With NoSQL for Performance, Unless You’re Sure SQL Has a Performance Problem
I just read an excellent article at thoughts.j-davis.com/2010/03/07/scalability-and-the-relational-model/ (alas link now dead) relating to the reasoning for using NoSQL databases being performance problems.
However, I wonder if it's even reasonable to search for solutions to performance problems with the relational model; NoSQL, etc.
I think as computers get faster and faster (CPUs, SSDs, more memory, ...) the set of problems which are "too slow" for a particular technology (or mindset) get fewer and fewer.
I used to have the pleasure of having to optimize systems (based on SQL, some of our solutions involved leaving the relational model); e.g. community with 4M users (uboot.com), but nowadays I have no customer where even an open-source database installed on reasonably inexpensive hardware is insufficient.
Of course, that's just my experience, and there certainly are many problems, companies, etc. today which require solving performance problems in the database, but I assert a lot of the people proposing NoSQL as a solution to performance problems with SQL databases don't have the performance problems in the first place; I mean not everyone is implementing Facebook, Google, ...