Introduction
As illustrated in the previous chapters, persistence is a large part of most deployments and applications. So far, we've focused on relational databases. Let's start off with some history.
In 1970, IBM published a paper named A Relational Model of Data for Large Shared Data Banks. This paper became the foundation for RDBMS and modern relational databases in that it described joins and relationships between entities. From this work, followed SQL (1986), ACID (Atomic, Consistent, Isolated, and Durable), schema design, and sharding for scalability.
Let's fast forward to the advent of social networks; a term called WebScale was coined based on Reed's law that states:
"The utility of large networks, particularly social networks, can scale exponentially with the size of the network."
Does this mean that RDBMS cannot be scaled? No, but it led to the development of NoSQL. NoSQL is usually based on the following definitions:
It was originally coined by Carlo Strozzi who developed the Strozzi...