In this article, we’ll outline the differences between SQL and NoSQL, the vast array of differences within NoSQL technologies themselves, and discuss if RDBMS really are a thing of the past.
NoSQL is a category of databases distinctly different from SQL databases. NoSQL is often used to refer to data management systems that are “Not SQL” or an approach to data management that includes “Not only SQL”. There are a number of technologies in the NoSQL category, including document databases, key value stores, column family stores, and graph databases, which are popular with gaming, social, and IoT apps.
SQL vs. NoSQL
Data Storage : SQL stored data in relational model , with row and column format . one row contain all the information about one specific entity.
In term of NoSQL, each with different data storage model. The main ones are store document, key value, columnar and graph format.
Schemas and Flexibility : In RDBMS columns must be decided and locked before data entry and each row must contain data for each column. This can be amended, but it involves altering down time may be require.
In NoSQL, Schemas are dynamic. Information can be added on the fly. Down times not require.
ACID Compliancy : The relational databases are ACID compliant.
In NoSQL, Varies between technologies, but many NoSQL solutions sacrifice ACID compliancy for performance and Scalability. BASE property introduces for NoSQL.
Scalability: In Traditional system Scaling is vertical. You can manage increasing load by increasing the CPU, RAM, SSD, etc, on a single server, more data means a bigger server, which can get very expensive. It is possible to scale an RDBMS across multiple servers, but this is a difficult and time-consuming process.
In “NoSQL”, Scaling is horizontal, meaning across servers in distributed architecture. These multiple servers can be cheap commodity hardware or cloud instances, making it a lot more cost-effective than vertical scaling.