This repo is a clone of https://github.com/miguelgrinberg/flasky
- SQL databases are relational, NoSQL databases are non-relational. Relational databases store data in tables and rows. They're based on a branch of algebraic set theory known as relational algebra, whereas non-relational database store data in more flexible forms, such as JSON.
- SQL databases are table based, while NoSQL databases are document, key-value, graph or wide-column stores.
- SQL databases use structured query language which have predefined schema. NoSQL databases have dynamic schemas for unstructured data.
- SQL databases are ACID compliant. It has atomicity, consistency, isolation and durability, which protects the integrity of the data by defining what transactions are allowed and how it interacts with the database. It avoids database tables from being out-of-sync. On the other hand, NoSQL is more flexible, requires less up-front planning, and is useful for when the requirements aren't clear or are likely to be changed often.
SQL | NoSQL | |
---|---|---|
Model | Relational | Non-Relational |
Format | Tables | Key-value, Graph, Documents or wide-column stores |
Schema | Static | Dynamic |
ACID | Compliant | Not Compliant |