The arrival of NoSQL
All software applications deal with data and eventually might need to store it somewhere and retrieve it later. When talking about databases, most developers first think of Relational Database Management Systems (RDBMSs) because that's how the market has been evolving for the past 40 years.
Traditionally, applications store data using relational database models organized into schemas, which are collections of related tables and views that describe the exact structure of the data. Much time and effort has been put into building and maintaining solutions using reliable and consistent relational database systems, such as Oracle, Microsoft SQL Server, MySQL, and many others.
Nowadays, applications should be able to serve millions of users from all over the world, dealing with information of extreme sizes. With the exponential growth of data, databases now need to allow for simple data operations with very good scalability, even if they are distributed over multiple servers...