IDG Answers is a community of experts who are passionate about technology. Ask a question or answer one below.
I am sure this will help you.
I like Mark Madsen's slightly cynical remark about "the history of databases in no-tation". I think that NoSQL responds to a problem that most people thought was scalability, but few people realised was really a deeper understanding of what SQL / RDBMS really are. Many people run into performance problems very quickly with MySQL. Because they don't recognise it as such (and instead, think that they're dealing with a scalability problem), they switch database architectures completely, giving up on ACID, ad-hoc denormalisation (JOINs), data structures and many other features they will eventually find missing in their NoSQL store.
So in essence, I believe that up to date, NoSQL stores may respond to niche problems (such as graph databases), but are in general a solution to a problem few people really have.
NoSQL is much easier to work with for software development, in great part due to the lack of need to custom code an ORM or data layer thanks to direct translation between NoSQL and programming objects. NoSQL is usually faster, and easier to scale than SQL.
On the other hand, SQL works better for large projects, and is good at joining multiple tables together, and probably has more people that are familiar with SQL basics, at least to the level that allows basic use. In the end, it really depends on the use whether SQL or NoSQL is superior.