The value of SQL
Ironically, following the NoSQL hype, the value of SQL-as-a-layer has become immediately valuable to companies and datastores alike. Witness SQL-as-a-layer efforts in rescuing data from Hadoop with projects like Impala (Cloudera), Drill (MapR), and Hive (Hortonworks), as well as solutions like Presto developed at Facebook.
And processing frameworks like Spark, with its popular Spark SQL functions, have proven to be a saving grace for document and key-value datastores that left SQL back on the cutting room floor.
Meanwhile in-memory, distributed systems enable the relational model to remain intact, achieve groundbreaking performance and scale for modern workloads, and incorporate NoSQL data types like JSON.
Long live multi-model databases
Of course the death of the NoSQL label does not mean death of the NoSQL model. Rather it points to the use of multiple data models within a single database. This was recently outlined in a webcast by Matt Aslett, research director of Data Platforms and Analytics at 451 Research, on the Internet of Things and Multi-model Data Infrastructure, in which he states:
- The database market has been dominated for 40 years by the relational database model (and SQL) – typically with separate databases for operational and analytics workloads.
- Emerging databases take advantage of in-memory and advanced processing performance to deliver combined operational and analytic processing.
- Polyglot persistence drove the expansion of the database market with NoSQL – specialists databases for specialist purposes and multiple data models.
- The use of multiple databases to support an individual application can lead to operational complexity and inflexibility driven by interdependence.
- Multi-model enables the flexibility of polyglot persistence without the operational complexity by supporting multiple data models.
The presentation showcases how multi-model, multimode databases support a combination of the SQL and NoSQL data models, especially JSON and key-value, as well as other workloads.
Calculating The Hidden Costs
So while NoSQL promised scale and performance at lower costs, NoSQL deployments can actually be far costlier than initially imagined. Let’s look at a few hidden cost areas.
* Added complexity. As referenced by Aslett of 451 Research, “use of multiple databases to support an individual application can lead to operational complexity.”
Every new datastore adds to the financial and operational burden of the data team. Having to support more databases that only fill a niche workload adds cost.
* Lack of analytics. By abandoning the relational algebra implicit in SQL, NoSQL stores have an uphill battle when it comes to analytics. Many NoSQL stores implemented SQL-like query layers such as the Cassandra Query Language (CQL) or N1QL for Couchbase. These provide some analytical functionality but they are not the same as ANSI SQL and they disqualify these datastores from natively connecting with the enterprise tools that use SQL. This bifurcation can weigh negatively on an enterprise trying to design around open standards like SQL.
Sign up for CIO Asia eNewsletters.