SQL vs NoSQL (Notes)

A quick overview of the differences between SQL and NoSQL.

SQL

Structured Query Language (SQL) is used for relational databases, which are table based. For example, an column in table A (e.g. User_ID) may have a relation with a column in table B (e.g. Order_Ref) and table B may have a relation to a column in table C (e.g. Item_ID).

SQL databases are vertically scalable and good for complex queries environments. SQL follows the ACID (Atomicity, Consistency, Isolation, Durability) model.

SQL database software includes:

SQL software comes in a variety of closed source (Microsoft SQL, Oracle) and open source (PostgreSQL).

NoSQL

NoSQL can mean Not Only SQL, or NOt SQL. NoSQL is used in non-relational or distributed database systems to store structured, semi-structured or unstructured data.

NoSQL databases are horizontally scalable and excel at non-complex queries. NoSQL databases can be document based, key-value pair based or graph based. NoSQL databases use the BASE (Basically Available, Soft state, Eventually consistent) model.

NoSQL software includes:

ACID vs BASE

Medium covered ACID vs BASE in an article at: https://medium.com/geekculture/acid-vs-base-in-databases-1bcad774da26