(Not Only SQL):** Non-relational database management systems offering flexibility and scalability for unstructured or document-based data.

NoSQL Databases: Accommodate unstructured data and can be represented through graph theory or document-based structures, allowing for flexible data models.

Definition: A family of databases that store data in non-tabular formats, often optimized for scalability, flexibility, or specific access patterns.

Types:

  • Document (e.g., MongoDB, Couchbase)
  • Key-Value (e.g., Redis, DynamoDB)
  • Column-Family (e.g., Cassandra, HBase)
  • Graph (e.g., Neo4j, ArangoDB)

Characteristics:

  • Flexible or schema-less design
  • Eventually consistent (in distributed systems)
  • Optimized for horizontal scaling
  • Better suited for unstructured or semi-structured data

Use Cases:

  • Real-time analytics
  • Content management
  • IoT and sensor data
  • Social networks
  • Mobile and web apps

General

No need for relationships

Scales better

  • Flexibility: NoSQL databases are non-relational and schema-less, making them easier to change and use.

  • Scalability: They are cluster-friendly, allowing data to be stored across many servers.

  • Efficiency: NoSQL databases store entire transactions as aggregates, simplifying data management and synchronization.

Cluster friendly.  Records are stored in aggregates