Over a million developers have joined DZone.

NoSQL or NoACID: The Reality of the SQL vs. NoSQL Debate

· Java Zone

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

NoSQL vs. SQL is a rather contentious topic: everybody loves comparing databases (to MongoDB, most of the time), explaining their reasons for abandoning NoSQL (or moving to it), and just generally trashing one solution or another. It's a very dramatic space.

That said, Markus Winand's "What's Left of NoSQL" explores some of the roots of the issue. According to Winand, the whole thing began with a sense of diminishing returns when it came to the development of SQL, but the real conflict stems largely from the name itself. About the rise of "NoSQL," Winand says:

This term alone struck the nerve of many developers and caused a rapid spread that ultimately turned into a religious war. The opponents were SQL as symbol for outdated, slow, and expensive technology on the one side against an inhomogeneous collection of new, highly-scalable, free software that is united by nothing more than the umbrella brand “NoSQL.”

Winand points to other nails in the perceived coffin of SQL, such as the growing popularity of ORMs. More importantly, though, Winand explains how the debate over the superiority of SQL vs. NoSQL is misplaced:

...the problem is that the term NoSQL was not aimed against SQL in the first place. To make that clear the term was defined to mean “not only SQL” later on. Thus, NoSQL is about complementary alternatives. To be precise it is not even about alternatives to SQL but about alternatives to the relational model and ACID. 

In other words: NoSQL was never about being better than SQL, but about doing something that relational databases aren't good at by sacrificing things that they are good at:

Simply put: in doubt [NoSQL systems] prefer to deliver wrong (old) data than no data. A more correct but less catchy term would therefore be NoACID.

As SQL experiences a resurgence of popularity, Winand wonders what effect it will have on the NoSQL movement. Was the alternative ever really all that necessary? Winand suggests that only a handful of companies - the Facebooks of the world - really require a NoSQL solution. But if that's the case, why is the debate still so passionate and widespread? According to Winand, it may be somewhat aspirational:

One might believe the success of NoSQL is also based on the fact that it solves a problem that everybody would love to have.

So, what do you think? Is the debate between SQL and NoSQL believers made more dramatic than it needs to be? Are there really two distinct sides to begin with? What is left of NoSQL?


Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}