▣datahall

An interactive web museum

Pull back the cover on 25 production databases

An interactive web museum for database internals. Each exhibit walks through the storage engine, concurrency model, and query evaluator of a real production system — with hand-drawn SVG diagrams and a schema you can read in a single sitting.

Featured exhibits

25 on display
client-serverest. 1996

PostgreSQL

The most-extensible open-source RDBMS: MVCC, a cost-based planner, and 30+ years of catalog evolution.

Architecture: process per connectionIsolation: MVCC + SSIIndexes: B-tree, hash, GIN, BRIN, GiST
embedded-sqlest. 2000

SQLite

The most-deployed database in the world: a single-file SQL engine with WAL, MVCC, and zero ops.

Footprint: < 750 KiBJournal: WAL or rollbackIndexes: B-tree + r-tree + FTS5
serverest. 2005

Apache CouchDB

An append-only document database: B-tree indexes, MVCC revisions, masterless replication.

Model: JSON documents, MVCC revisionsStorage: append-only copy-on-write B-treeIndexes: MapReduce views, incremental
serverest. 2006

Google Bigtable

The original wide-column store: tablets on a distributed lattice, the paper behind HBase and Cassandra.

Model: row key → column families → columnsUnit: tablets (~100-200 MB rows) per serverStorage: SSTable + memtable + tablet log
client-serverest. 2007

Neo4j

A property-graph database with index-free adjacency and Cypher traversals.

Model: nodes + directed relationships + propertiesQuery: Cypher pattern matchingTraversal: index-free adjacency (pointer chase)
serverest. 2008

Apache Cassandra

Wide-column storage at planetary scale: leaderless replication, tunable consistency.

Model: partition key → clustering columnsReplication: leaderless, gossip + tunable QUORUMStorage: commit log → memtable → SSTables
client-serverest. 2009

MariaDB

The community fork of MySQL: pluggable engines, MVCC InnoDB, and columnar storage for analytics.

Default engine: InnoDB (MVCC)Pluggable storage: InnoDB, Aria, ColumnStoreReplication: async + semi-sync + Galera
client-serverest. 2009

MongoDB

A document database: BSON collections, WiredTiger B+ trees, replica sets.

Model: BSON documents in collectionsEngine: WiredTiger: B+ trees + MVCCDurability: journal + snapshot checkpoints
client-serverest. 2009

Redis

An in-memory data-structure server: strings, sets, hashes, sorted sets, streams.

Model: in-memory data structuresExecution: single-threaded command loopPersistence: AOF log + RDB snapshots
serverest. 2009

RethinkDB

The realtime document database: JSON rows, ReQL chaining, and change feeds that push.

Model: JSON documents, ReQL queriesPush: changefeeds — subscribe to queriesSharding: replicate + shard per table
client-serverest. 2010

Elasticsearch

A distributed search engine: inverted indexes, immutable Lucene segments, near-real-time.

Index: inverted: term → postings listStorage: immutable Lucene segmentsVisibility: refresh ≈ every 1s (near-real-time)
embedded-kvest. 2011

RocksDB

An embedded LSM key-value engine built for flash and in-memory workloads.

Write path: WAL + memtable → immutable SSTRead path: memtable → L0 → lower levels, newest firstCompaction: leveled, size-tiered, FIFO
client-serverest. 2011

Couchbase

Memory-first document database: the cache IS the database, persistence is asynchronous.

Model: JSON documents in vBucketsWrite path: memory-first, async persistenceQuery: N1QL — SQL for JSON
serverest. 2012

Amazon DynamoDB

Serverless key-value at any scale: partition-key routing, quorum replication, single-digit ms.

Model: partition key + sort key itemsAccess: GetItem / Query / Scan opsReplication: 3 AZs, quorum writes
serverest. 2013

InfluxDB

A time-series database: measurements, tags, and time-structured merge storage.

Model: measurement + tags + fields + timeStorage: TSM: immutable, time-partitionedLifecycle: retention policies + downsampling
serverest. 2013

etcd

The Raft-consensus key-value store that coordinates Kubernetes — small, watchable, linearizable.

Consensus: Raft — leader + quorum commitsSemantics: linearizable reads, MVCC revisionsWatch: stream changes from any revision
serverest. 2015

CockroachDB

Distributed SQL that survives datacenter loss: Raft ranges, serializable by default.

SQL: Postgres-compatible wire + dialectConsistency: serializable, always onReplication: Raft consensus per range
serverest. 2015

ScyllaDB

Cassandra rebuilt in C++ on a shared-nothing sharded architecture: the same model, lower latency.

Compatible: Cassandra CQL + driversArchitecture: shared-nothing per-core shardsLatency: p99 in single-digit ms
serverest. 2016

ClickHouse

A columnar OLAP engine: sparse primary keys, granule skipping, vectorized scans.

Storage: columnar parts of ~8192-row granulesIndex: sparse primary key (1 entry per granule)Execution: vectorized block processing
serverest. 2017

TimescaleDB

Postgres extended for time series: hypertables, automatic chunking, columnar compression.

Model: hypertables over PostgresPartitioning: automatic time + space chunksCompression: 10-20× columnar on old chunks
embedded-sqlest. 2018

DuckDB

An in-process analytical SQL database: columnar, vectorized, one file, zero servers.

Model: full SQL over columnar storageExecution: vectorized (2048-value batches)Embedded: in-process, single file
serverest. 2018

FoundationDB

A deterministic distributed key-value store proven by simulation before it ever ships.

Design: unbundled: transaction/log/storageTesting: deterministic simulation, fault-injectedSemantics: strictly serializable MVCC
serverest. 2019

QuestDB

Time-series SQL at columnar speed: time-partitioned native storage with SIMD scans.

Ingest: line protocol + ILP over TCP/HTTPStorage: native columnar, time-partitionedOut-of-order: first-class OO updates
server-vectorest. 2021

Qdrant

A Rust-native vector database with payload filtering, HNSW indexes, and distributed consensus.

Index: HNSW + scalar quantizationPayload: filter on any fieldModes: embedded, single, cluster
embedded-vectorest. 2023

LanceDB

A serverless vector database built on the Lance columnar format: fast scans over multimodal data with embedded ANN indexes.

Storage: Lance columnarIndexes: IVF-PQ, HNSWEmbedded + Server: Node, Python, Rust

Database family map

museum lobby
Relational6 on display

SQL tables, joins, transactions

Vector2 on display

embeddings, k-NN, payload

Key/Value6 on display

O(1) point reads/writes

Document4 on display

JSON-shaped records

Wide-column4 on display

sparse row x column model

Graph1 on display

nodes, edges, traversals

Time-series3 on display

append-only with time index

Search1 on display

inverted indexes, ranking

OLAP / Columnar2 on display

column-pruned scans

LSM / Log-structured4 on display

append + compact

Visual legend

Every diagram on every exhibit uses the same color taxonomy. This legend appears at the top of each exhibit too, so you can decode any page at a glance.

What you'll find on each page