DEV Community

Shamil Suraweera
Shamil Suraweera

Posted on

Databases for Developers: A Complete Landscape (Origins, Types, and Real Usage)

Databases exist to store data reliably and retrieve it efficiently.

Over decades, different database types emerged to solve different data shapes, workloads, and scale problems.

This post is a complete, practical overview of modern database types, including:

  • SQL and NoSQL
  • Specialized databases (analytics, search, graph, vector, etc.)
  • How they are actually used in real systems

No comparisons, no hype. Just the ecosystem.


1. SQL (Relational) Databases

Origin

SQL databases are based on the relational model, introduced in 1970.

They store data in tables with fixed schemas, enforce relationships, and guarantee correctness.

Core Properties

  • Schema-first
  • Strong consistency
  • ACID transactions
  • Declarative querying (SQL)
  • Constraints enforced by the database

Common Usage

  • Financial systems
  • ERP and accounting
  • Inventory and orders
  • Authentication and authorization
  • Business reporting

Typical Databases

  • PostgreSQL
  • MySQL / MariaDB
  • SQL Server
  • Oracle

SQL databases are commonly the system of record.


2. NoSQL Databases

Origin

NoSQL databases emerged in the mid-2000s to support:

  • Web-scale traffic
  • Distributed systems
  • Flexible and evolving data

“NoSQL” means Not Only SQL.

Core Properties

  • Schema-flexible or schema-less
  • Horizontally scalable
  • Optimized for specific access patterns
  • Application-driven data modeling

Common Usage

  • Activity logs
  • Content systems
  • Real-time applications
  • Caching and sessions
  • Large-scale distributed systems

3. Document Databases (NoSQL)

Model

  • JSON-like documents
  • Nested structures
  • Each record can differ

Used For

  • User profiles
  • Product catalogs
  • CMS systems
  • APIs returning JSON directly

Examples

  • MongoDB
  • CouchDB

4. Key-Value Databases

Model

  • Simple key → value storage
  • Extremely fast access

Used For

  • Caching
  • Sessions
  • Rate limiting
  • Feature flags
  • Temporary state

Examples

  • Redis
  • DynamoDB

5. Wide-Column Databases

Model

  • Rows with dynamic columns
  • Columns grouped into families
  • Distributed by design

Used For

  • High write throughput
  • Event storage
  • Time-ordered data

Examples

  • Cassandra
  • HBase

6. Graph Databases

Model

  • Nodes + edges + properties
  • Optimized for traversal

Used For

  • Social networks
  • Recommendation engines
  • Fraud detection
  • Dependency graphs

Examples

  • Neo4j
  • JanusGraph

7. Time-Series Databases

Model

  • Timestamped data points
  • Optimized for time-window queries

Used For

  • Monitoring
  • Metrics
  • IoT data
  • Financial ticks

Examples

  • InfluxDB
  • TimescaleDB

8. In-Memory Databases

Model

  • Primary storage in RAM
  • Optional persistence to disk

Used For

  • Ultra-low latency workloads
  • Real-time analytics
  • Caching with durability

Examples

  • Redis
  • SAP HANA

9. Columnar / Analytical Databases (OLAP)

Model

  • Column-oriented storage
  • Optimized for aggregation

Used For

  • Analytics
  • BI dashboards
  • Large reporting queries

Examples

  • ClickHouse
  • Redshift

10. Data Warehouses

Model

  • Centralized analytical stores
  • Structured, cleaned data

Used For

  • Business intelligence
  • Enterprise reporting
  • Historical analysis

Examples

  • Snowflake
  • BigQuery

11. Data Lakes

Model

  • Raw data in object storage
  • Schema-on-read

Used For

  • Machine learning
  • Batch analytics
  • Long-term storage

Examples

  • Delta Lake
  • Apache Iceberg

12. Search Databases

Model

  • Inverted indexes
  • Full-text search

Used For

  • Search engines
  • Log analytics
  • Observability systems

Examples

  • Elasticsearch
  • OpenSearch

13. Streaming Datastores / Event Logs

Model

  • Append-only event streams
  • Replayable history

Used For

  • Event-driven systems
  • Real-time pipelines
  • Data ingestion

Examples

  • Kafka
  • Pulsar

14. Vector Databases

Model

  • High-dimensional vectors
  • Similarity search

Used For

  • Semantic search
  • AI embeddings
  • Recommendation systems
  • RAG pipelines

Examples

  • Milvus
  • Pinecone

15. Geospatial Databases

Model

  • Spatial data types and indexes

Used For

  • Maps
  • Location tracking
  • Logistics
  • GIS systems

Examples

  • PostGIS
  • GeoMesa

16. Object-Oriented Databases

Model

  • Persistent objects
  • Inheritance and identity

Used For

  • Simulations
  • CAD systems
  • Niche legacy use cases

Examples

  • ObjectDB
  • db4o

17. Multimodel Databases

Model

  • Multiple data models in one engine

Used For

  • Reducing database sprawl
  • Mixed workloads

Examples

  • ArangoDB
  • Cosmos DB

18. Embedded Databases

Model

  • Runs inside the application
  • No server process

Used For

  • Mobile apps
  • Desktop software
  • Edge devices

Examples

  • SQLite
  • RocksDB

19. Ledger / Immutable Databases

Model

  • Append-only
  • Cryptographically verifiable

Used For

  • Auditing
  • Compliance
  • Financial records

Examples

  • QLDB

How Databases Are Used in Real Systems

Modern architectures are polyglot:

  • SQL for correctness
  • NoSQL for scale and speed
  • Search for querying text
  • Analytics stores for reporting
  • Streams for real-time data

No single database solves every problem well.


Final Takeaway

  • Databases are tools, not ideologies
  • Data shape and access patterns matter more than trends
  • Most systems combine multiple database types
  • Start simple, specialize only when necessary

Choose deliberately. Data outlives code.

Top comments (0)