NoSQL? No Party!

Michele Arpaia
4 min readMar 3, 2020

--

The NoSQL market first emerged in 2009, although much of the technologies and concepts have been in existence for at least a couple of decades.

The first time I came across NoSQL databases was in 2014. Soon after learning the key concepts (thanks to old, good, and insightful Martin Flower), I rushed back to the product group naively screaming “Eureka!”. Back then the issue being faced was the mapping data between in-memory data structures and a relational database. The platform managed product information along with taxonomies, classifications, dynamic attributes, media, etc. all in order to provide customers an enriching and memorable product experience on digital channels.

Little did I know that NoSQL was carrying much more weight than it lets on at first blush. In fact, fast forward just 6 years today and you see that the increasing variety and nature of data, as well as the need for distributed and high availability of such data is literally driving digital transformational endeavors in many quarters, opening the door to NoSQL databases in a significant and inevitable manner.

To illustrate: one of our top customer, offers a personalized video platform to help financial organizations produce video content that simplifies complex products, creates engagement, and motivates customer action. The provision of global video distribution with unlimited scalability, elastic scaling of throughput, and storage in worldwide, single-digit millisecond latencies at the 99th percentile, was simply unattainable without a NoSQL platform (in this case, CosmosDB).

Unfortunately, most of the debate revolves around SLQ vs NoSQL, which is unwarranted to say the least. Admittedly, the name NoSQL is probably one of the worst in our industry. However, the set of problems NoSQL aims to resolve tend to simply be disjointed by those of SQL’s. The key to understanding this is to reflect on two intertwined concepts:

  • the fact that relational databases were not designed for distributed workloads. Actually they are very bad at it, by choice so that’s perfectly fine. Caveat: I know there are databases coming up that can horizontally scale e.g. OceanBase but this is not the point…
  • the fact that relational databases unit of work is a table and rows, while NoSQL databases (with the exception of Graph databases) work with aggregates.

Many NoSQL databases are designed explicitly to run on clusters, so they make a better fit for big data scenarios. And that brings me to the next and last point: the role played by NoSQL in digital transformational programs.

To exemplify: organizations sit on 3 pillars for sustained growth and innovation. Each pillar draws and produces data, potentially enabling efficiency, unleashing innovation, and rewiring customers and employees experience. In each, NoSQL plays a pivotal role.

  1. Customers. Building delightful, personalised customer experiences, requires proper use of data generated from those experiences to guide new products or services e.g. product recommendation in near real time. Most of this data is semi-structured, e.g. sensors data , social data, or unstructured such as media, etc. and in many cases distributed across the globe e.g. retail online commerce
  2. Employees. Supporting employees with the tools to collaborate and communicate, to be empowered to design and be as productive as possible. The “employee dynamic profile” is by definition the hotspot for closing the knowledge gap between organizations and employees. In is inner nature this profile is neither tabular, nor pre-defined.
  3. Products and Services. Optimise business processes, perhaps using sensors to collect data in real time, analyze and decide, then perform action in the real world using robotics. Think of a smart cars, smart buildings, logistics, etc.

Hear me out ;-)

Advocates of NoSQL databases claim that they can build systems that are more performant, scale much better, and are easier to program with. While much more can be said, in a nutshell this tends to be true for many organizations.

In fact, today, half of global data and analytics technology decision makers either have implemented or are implementing NoSQL platforms, taking advantage of the benefits of a flexible database that serves a broad range of use cases (Source: Forrester Analytics Global Business Technographics® Data And Analytics Survey, 2018.)

Reach me out for a Martini!

--

--

Michele Arpaia

Software Architect, Designer, Programmer, Philosopher.