(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.

NoSQL

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