Very interesting article. I've had my eyes opened quite a bit lately concerning NoSQL environments and I've reached the following conclusions:
1. NoSQL solutions definitely have their shining moments and all due consideration should be given to them where appropriate
2. NoSQL is NOT a replacement for RDBMS nor should it ever be considered as such.
3. A NoSQL solution is indeed the correct choice for many implementations that are currently in RDBMS (this is not in conflict with #2 above)
My dad always taught me to use the right tool for the right job. Just because you CAN use a wrench for a hammer doesn't mean that you SHOULD. An RDBMS solution is not a hammer where every problem is a nail. NoSQL should be used where appropriate just as RDBMS should be used only where appropriate.
I do take exception to the comment made in the article:
While I understand the pressure to adopt a SQL like language I do think it is a mistake to base that language too closely on SQL. I feel that basing their query language on SQL, while aiding adoption it will lead to lazy thinking by architects and developers. It will prevent the exploration of key strengths of the NOSQL platform that do not fit easily with a language based on SQL.
I don't feel that employing an SQL-like language on NoSQL is necessarily a bad thing in of itself. If the data is organized in a relational model and lends itself to set-based operations, then it doesn't necessarily matter how the functions are performed under the hood. A NoSQL database will not be as optimal as an RDBMS for relational data just like an RDBMS is not optimal for non-relational data, but that does not undermine the concept and approach. Again, it all comes down to using the right tool for the right job.