Relational
- Has ACID Transactions
- Storing data in tables with predefined schemas. Adding a new columns requires us to apply it to all records in the table
- Rigid schema & usually Vertical Scaling
When is it suitable?
When we want to have ACID Transactions, financial applications, and we have structured and consistent data.
NoSQL Database
- Flexible schema
- Horizontal Scaling
When is it suitable?
When we want to have large volumes of unstructured data, flexibility in data structure and rapid development.
Key-Value NoSQL
- Structure like a Hash Map, example is Redis
Wide Column NoSQL
- Example is Cassandra
Document NoSQL
- JSON struction, example is MongoDB
Graph NoSQL
- Example is neo4j