(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