Database Type Reference

Relational, document, key-value, graph, time-series compared.

Reference of database categories with their data model, query interface, popular examples and best-fit use cases — relational, document, key-value, wide-column, graph, time-series, search, vector and OLAP — plus a live filter.

What is the difference between SQL and NoSQL databases?

SQL (relational) databases store structured rows with a fixed schema and use joins and ACID transactions. NoSQL is an umbrella for non-relational models — document, key-value, wide-column and graph — that trade some consistency or schema rigidity for flexibility and horizontal scale.

Choosing the right database model

Databases are not interchangeable: each category is optimised for a particular data model and access pattern. This reference compares the main types — relational, document, key-value, wide-column, graph, time-series, search, vector, columnar/OLAP and ledger — with the data model, typical query interface, example systems and the workloads each fits best.

How it works

The right choice follows from your dominant query shape and your consistency and scale requirements, not from popularity. A rough decision map:

Joins + transactions + strong consistency   → Relational
Nested, varying records, flexible schema     → Document
Fast lookup by known key, caching/sessions   → Key-Value
Write-heavy, linear horizontal scale         → Wide-Column
Deeply connected relationships               → Graph
Timestamped metrics and events               → Time-Series
Full-text search and relevance ranking       → Search Engine
Semantic similarity / embeddings for AI      → Vector
Large-scale analytical aggregations          → Columnar / OLAP
Tamper-evident audit history                 → Ledger / Immutable

The filter searches across type, model, examples and use case so you can find the category that matches the problem in front of you.

Tips and notes

  • Start from the dominant access pattern, then check consistency and scale needs.
  • Polyglot persistence is normal — most production systems combine several types.
  • Many relational engines now support JSON, vectors (pgvector) and time-series too.
  • Match the data model to the problem, not the other way around.