Denormalizing in NoSQL or how we learned to scale tables

Description of your first forum.
Post Reply
Mitu9900
Posts: 224
Joined: Thu Dec 26, 2024 9:18 am

Denormalizing in NoSQL or how we learned to scale tables

Post by Mitu9900 »

The term NoSQL was first used in 1998 for an alternative query language for relational databases [1] . In its current meaning of " Not only SQL " as a collective term for alternative database concepts, it only came into fashion towards the end of the 2000s after a meetup in San Francisco [2] . A lot has been written about it since then, but it is not uncommon for important aspects to be omitted or for incorrect interpretations to be given. The spectrum ranges from an attempted relational use of alternative database approaches to the confusion of column-oriented (relational) databases with the so-called wide column stores afghanistan telegram screening from the NoSQL world. In this article, I would therefore like to work out the most important conceptual differences between relational databases and their NoSQL relatives, especially in the area of ​​normalization, and clarify the associated consequences for scalability, flexibility and query options.

As the following quote from Turing Award winner Michael Stonebraker [3] beautifully describes, the performance problems of relational databases that increasingly occurred in the early 2000s when dealing with large amounts of data ( Big Data [4] ) had nothing to do with the SQL query language itself, but stemmed primarily from the relational properties of these systems and the ACID guarantees propagated therein [5] :

“…blinding performance depends on removing overhead. Such overhead has nothing to do with SQL, but instead revolves around traditional implementations of ACID transactions, multi-threading, and disk management.”

Accordingly, SQL ( Structured Query Language ) remains so popular as a query language in the 2020s that even various NoSQL databases (such as the wide column store Cassandra ) are heavily based on it with their query language, and common big data frameworks (such as Hadoop , Spark or Flink ) or the streaming platform Kafka offer options for accessing data based on SQL [6] .
Post Reply