Skip to main content

NoSQL data models

 

NoSQL Data Models


1. Introduction

NoSQL databases do not use the traditional table-based relational model.
Instead, they use flexible data models depending on the application and data type.

Main NoSQL data models:

  1. Key–Value

  2. Document-Oriented

  3. Column-Family

  4. Graph


2. Key–Value Data Model

Definition

Stores data as a pair of key and value, similar to a dictionary.

Structure

Key → Value

Features

  • Simple and fast

  • Schema-less

  • Supports distributed storage

Examples

  • Redis, Riak, Amazon DynamoDB

Use Cases

  • Session management

  • Caching

  • User profiles


3. Document-Oriented Data Model

Definition

Stores data in the form of documents (usually JSON or BSON).

Structure

  • Document = Object

  • Documents are grouped into collections

Features

  • Flexible schema

  • Can store nested data

  • Supports indexing and querying

Examples

  • MongoDB, CouchDB

Use Cases

  • Content management systems

  • E-commerce platforms

  • Real-time analytics


4. Column-Family Data Model

Definition

Stores data in columns and column families, not rows.
Good for large datasets and distributed systems.

Structure

  • Row key

  • Column families

  • Columns within families

Features

  • High scalability

  • Fast writes

  • Supports distributed clusters

Examples

  • Apache Cassandra, HBase

Use Cases

  • Time-series data

  • Event logging

  • Analytics


5. Graph Data Model

Definition

Stores data as nodes, relationships, and properties.

Structure

  • Nodes = entities

  • Relationships = connections

  • Properties = additional info

Features

  • Optimized for relationship-heavy data

  • Supports fast graph traversals

Examples

  • Neo4j, JanusGraph

Use Cases

  • Social networks

  • Recommendations

  • Fraud detection


6. Summary Table

Data ModelStructureBest For
Key–ValueKey → ValueCaching, sessions
DocumentJSON / BSON DocumentsFlexible data storage
Column-FamilyColumns & FamiliesBig data & analytics
GraphNodes & RelationshipsConnected data

Comments