Relational Database or NoSQL Database – what should I use now?

Wait for it ….. it depends.

First, there two general types of database use cases:

OLTP – Online Transactional Processing – This is the database that serves your websites, apps, internal applications. Often a massive amount of reads. It might needs handle huge scales of loads. And it has to be fast, to not be the usual bottleneck.

OLAP – Online Analytical Processing – This serves the analytic processes in a company. It needs to be able to do any kind of slicing and dicing of data without much effort. And of course today it needs to scale with the amount of data. And today it needs to be quick. Analysis queries running for 10m – no go.

For OLTP you design your database for quick access and response. Therefore you might end up more often with NoSQL databases. Here you can model the data so it matches perfectly the access patterns und business models. It even ends up in the extreme implementation of Single Table models (eg. for DynamoDB). All for performance and scalability.

NoSQL is also great to receive great amounts of potential messy data (due to schema less). So it can be a first sink of any kind of data – serving a bit as a data lake.

– Continues in the comments-