This vendor-written tech primer has been edited to eliminate product promotion, but readers should note it will likely favor the submitter’s approach.
The NoSQL industry was developed quickly on the promise of schema-free design, infinitely scalable clusters and breakthrough performance. But there are hidden costs, including the added complexity of an endless choice of datastores (now numbering 225), the realization that analytics without SQL is painful, high query latencies require you to pre-compute results, and the inefficient use of hardware leads to server sprawl.
All of these costs add up to a picture far less rosy than initially presented. However, the data model for NoSQL does make sense for certain workloads, across key-value and document data types. Fortunately, those are now incorporated into multi-mode and multi-model databases representing a simplified and consolidated approach to data management.
Let’s take a closer look at the impetus for the NoSQL movement and the true impact of abandoning SQL.
Dawn and decline of the NoSQL movement
The popularity of NoSQL grew from the need to scale beyond what traditional disk-based relational databases could handle, and because high performance solutions from large database companies get very expensive very quickly. Coupled with data growth, developers needed a better way for the growing use of simple data structures like users and profile information associated with mobile applications. NoSQL promised an easy path to performance.
Another explanation for NoSQL popularity comes from the perception that SQL can be hard to learn. But Michael Stahnke, director of engineering at Puppet Labs, claims that is an early, and invalid argument, noting that, “instead you must learn one query language for each tool you use.”
NoSQL is there because SQL is hard to learn. (early argument). Instead you must learn one query language for each tool you use. #losing— Michael Stahnke (@stahnma) March 17, 2015
A few things changed in recent years that have led to the assimilation of NoSQL into the broader database market.
First, in-memory architectures have proven that you can have performance and SQL together, addressing part of the reason for ditching SQL initially.
Second, most NoSQL datastores begin with a limited language for key/value workloads, and then attempt more SQL-like constructs or even try to recreate SQL itself. Starting with SQL means you incorporate core architectural features like multi-version concurrency control (MVCC) or indexes, both critical for real-time analytics on changing data sets.
Finally, relational database vendors have recognized the value of multiple data models by incorporating them into a comprehensive offering.
Perhaps the NoSQL fade away is best summarized by leading analyst firm Gartner: “By 2017, the ‘NoSQL’ label will cease to distinguish DBMSs, which will reduce its value and result in it falling out of use” (as quoted in Dataversity).
Sign up for CIO Asia eNewsletters.