Don't simply say "yes" to NoSQL databases

Don't simply say "yes" to NoSQL databases

Understand the limitations of NoSQL databases

In the fast-paced world, we see new and exciting innovations emerging daily. It's easy to get caught up in the hype and feel the urge to chase after every fancy technology.

PrimeVideo, in a recent post, explained how they were able to move from distributed microservices to a monolith and scale their video monitoring services at a reduced cost. This is one of the recent examples of the impact of choosing fancy micro-services without a clear understanding of requirements.

Instead of chasing after fancy, buzzing technologies like Artificial Intelligence, Virtual Reality, and Promt Engineering, it's important to learn the fundamentals and apply what works best for your requirements. Just because something is new and used by tech giants doesn't mean it will necessarily fit your use case.

Similarly, it's often tempting to choose NoSQL databases over traditional relational databases when designing an application. This post encourages you to understand your application requirements and the limitations of NoSQL databases if you decide to choose one.


Limitations of NoSQL databases

No Structured Data

One of the primary drawbacks of NoSQL databases is their schema-less nature. While this can be advantageous for certain use cases, maintaining data integrity and consistency can be challenging with schema-less data, especially when dealing with complex relationships.

In contrast, relational databases have a strict structure that enforces developers to define the data structure (with data types for each field and relationship) earlier, leaving no room for erroneous data.

No Transactions

Transactional supports are crucial for certain applications to ensure data integrity. NoSQL databases are designed for heavy data loads and often sacrifice transactional guarantees. Consider the importance of transactions, from simple ticket booking software to complex banking applications.

Relational databases, on the other hand, provide ACID (Atomicity, Consistency, Isolation, and Durability) properties that ensure data integrity and offer built-in transactional support.

Fewer Querying options

NoSQL databases prioritize high-performance planned reading and writing, offering fewer querying options such as simple key-value lookup. They do not support complex querying like joins, aggregations, or unplanned queries for any one-time reporting.

Steep Learning Curve

NoSQL comes in multiple flavors, each with its own differences. There is no unified language like SQL to interact with NoSQL databases, often requiring a steep learning curve to understand their APIs, data access patterns, and other internals.


To conclude, although NoSQL databases have several factors to consider, It is crucial to understand their limitations. As a developer, if you choose to go with NoSQL databases, review them carefully, and consider the trade-offs, keeping their limitations in mind.

Once again, understand your requirements well, and don't simply say "yes" to NoSQL databases without careful consideration.