Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

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

DZone's Guide to

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

· Java Zone
Free Resource

Download Microservices for Java Developers: A hands-on introduction to frameworks and containers. Brought to you in partnership with Red Hat.

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?


Download Building Reactive Microservices in Java: Asynchronous and Event-Based Application Design. Brought to you in partnership with Red Hat

Topics:

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}