In online communities, the NoSQL topic (much like the ORM topic) is a guarantee to stir emotions. Many emotions are stirred by evangelists on either side for ideological or marketing reasons. Here's an interesting post by Alex Popescu, a passionate NoSQL and polyglot persistence evangelist, claiming that the recent trend to return to SQL is premature:
This post triggered an equally interesting reaction by Markus Winand, author of SQL Performance Explained:
It's really interesting, how often people think in terms of "trends" that introduce novel paradigms, obsoleting all we had before. I believe that these are not trends, but experiments. I've blogged before that you should be wary when NoSQL vendors promise you to put an end to DBAs. Very few "new" solutions or paradigms have ever completely replaced or substituted their predecessors. Or, in Isaac Newton's words:
If I have seen further it is by standing on the shoulders of giants.
We're not "returning to SQL", nor is such a return "premature". Yes, there are some innovative thinkers who are teaching an old elephant new tricks, and that's good. It's also good that such innovative thinkers get a piece of the cake and make money with their inventions.
It is also true that big database vendors are not very innovative. But they don't have to be. Their asset is reliability, predictability, stability. Oracle SQL will still support all its age-old legacy in 15 years, which makes it a safe choice for banks and insurance companies. If a NoSQL or NewSQL feature proves to be innovative and reliable, Oracle et al. will most certainly pick it up and integrate it into SQL. Clever NoSQL vendors thus already prepare for their exits.
This happens outside the world of databases, of course:
- Scala is innovative and contributes to Java (Generics in Java 5, Lambdas in Java 8).
- Open Source developers (e.g. those of JAX-RS) are innovative and contribute to JEE.
- PostgreSQL is innovative and contributes to other SQL dialects and eventually the SQL standard.
- Instagram is innovative and contributed to Facebook ("shit happens!").
- jOOQ is innovative and contributes to JDBC and JPA (eventually, hopefully).
SQL is a safe bet and is here to stay.