Course contents
On this page
Course reference

References and evidence policy

References and evidence policy: supporting material for the Database Engineering course.

How evidence is used

General mechanisms are explained in original prose and illustrated with constructed examples. A source link supports a specific implementation or historical claim; it is not a claim that every teaching example describes that product. Vendor documentation establishes reported behavior, not independent comparative performance. No vendor benchmark is reproduced as a workload-independent ranking.

Historical papers retain their publication dates. PostgreSQL references are pinned to major version 18. Cassandra references use the 5.0 documentation family. Rolling documentation for other products is identified as such; deployment behavior must be checked against the version in use. Research and documentation were consulted on 25 October 2026. A separate verification report distinguishes source access, editorial checks, and executable validation.

Roadmaps are not shipped features. Architectural interpretations and derived workload implications are labeled as analysis. Numerical examples use explicit units and assumptions; they are not measured product results. Pseudocode omits implementation machinery only where the text identifies the omitted responsibility.

Historical research landmarks

AuthorsYearWork and architectural question
Leslie Lamport1978Time, Clocks, and the Ordering of Events: causal order without assuming one global clock
Maurice Herlihy and Jeannette Wing1990Linearizability: a real-time correctness condition for concurrent objects
C. Mohan and colleagues1992ARIES: recovery with fine-grained concurrency and partial rollback
Leslie Lamport2001Paxos Made Simple: agreement under failures
Seth Gilbert and Nancy Lynch2002CAP result: availability and consistency under network partitions
Giuseppe DeCandia and colleagues2007Dynamo: available partitioned storage and conflict handling
Daniel Abadi2012PACELC: latency and consistency beyond partition-time decisions
Alexander Thomson and colleagues2012Calvin: deterministic ordering for partitioned transactions
James Corbett and colleagues2012Spanner: global transactions and explicit time uncertainty
Jeffrey Dean and Luiz André Barroso2013The Tail at Scale: tail behavior in large services
Diego Ongaro and John Ousterhout2014Raft: understandable replicated-log consensus
Benoit Dageville and colleagues2016Snowflake: elastic shared-data analytical architecture
Alexandre Verbitski and colleagues2017Aurora: specialized distributed storage for a relational service
Jingyu Zhou and colleagues2021FoundationDB: separated transactional roles, storage, and deterministic simulation

These dates identify the cited publications. Their historical experiments are not reproduced as current comparative benchmarks. Current product documentation is listed separately below and is interpreted within its stated version or rolling-documentation scope.

Implementation scope register

All entries below were consulted on 25 October 2026. A rolling source records what was available at that consultation; it does not pin future documentation to an immutable release.

System or specificationScope used in the manuscriptInterpretation limit
PostgreSQLMajor version 18 documentationExtension and deployment behavior still depend on the installed configuration.
SQLiteOfficial rolling architecture, format, WAL, atomic-commit, and testing documentationJournal mode, filesystem support, and durability settings are explicit parts of each example.
RocksDBOfficial rolling project wikiThe host selects APIs, transaction behavior, and persistence configuration; no fixed release benchmark is asserted.
Cassandra5.0 documentation family, including official rolling pages consulted for architecture and modelingRepair automation and conditional-operation behavior require the selected deployed version.
RedisOfficial rolling persistence, latency, eviction, and Cluster documentationThreading and deployment variants differ; no claim treats all work as one permanently single-threaded implementation.
SpacetimeDB2.x documentation, September 2026 scaling explanation, rolling repository; homepage displayed v2.13Roadmaps remain separate from shipped behavior. Vendor performance assessments are identified as vendor-reported.
Convex and ClickHouseOfficial rolling architecture and behavior documentationArchitectural comparisons are workload analysis rather than release-matched measured rankings.
FoundationDB2021 architecture paper and official 8.0 developer/architecture documentationThe historical paper and current documented interface are distinguished.
CockroachDBOfficial stable documentation consulted on the verification dateHistorical design summaries are not substituted for every detail of a configured current cluster.
TCP, QUIC, HTTP, WebSocketIdentified RFCs in the catalogEach RFC supports its stated protocol scope; transport does not define application transaction semantics.
TLSRFC 8446 is retained as a historical TLS 1.3 referenceIt is not presented as a complete current deployment-security prescription.

The course does not reproduce a vendor throughput comparison. Its quantitative examples use hypothetical inputs and expose their assumptions. Selecting a deployment still requires measuring the actual hardware, topology, access pattern, failure policy, and guarantee.

Source catalog

aries

ARIES original paper, IBM, 1992

Primary teaching locations: L19, L24.

aurora

Amazon Aurora storage architecture paper, 2017

Primary teaching locations: L36.

calvin

Calvin original paper, Yale, 2012

Primary teaching locations: L22.

cap

Gilbert and Lynch: CAP, 2002

Primary teaching locations: L26.

cassarchitecture

Cassandra 5.0 architecture

Primary teaching locations: L44.

casspartition

Cassandra 5.0 data modeling

Primary teaching locations: L29.

cassrepair

Cassandra 5.0 repair

Primary teaching locations: L44.

cassreplication

Cassandra 5.0 Dynamo architecture

Primary teaching locations: L27.

clickarch

ClickHouse architecture

Primary teaching locations: L12, L17, L47.

clickdistributed

ClickHouse distributed engine

Primary teaching locations: L31.

cmu

CMU database systems curriculum

Primary teaching locations: L01, L06, L07, L14, L15.

cockdistribution

CockroachDB distribution layer

Primary teaching locations: L29.

cockdistsql

CockroachDB SQL layer

Primary teaching locations: L31.

cocklocality

CockroachDB multi-region overview

Primary teaching locations: L38.

cockreplication

CockroachDB replication layer

Primary teaching locations: L46.

cocktransactions

CockroachDB transaction layer

Primary teaching locations: L30, L46.

convexocc

Convex optimistic concurrency control

Primary teaching locations: L22, L47.

convexrealtime

Convex realtime model

Primary teaching locations: L32, L47.

cppmemory

C++ working draft memory model

Primary teaching locations: L23.

debezium

Debezium outbox event router

Primary teaching locations: L37.

dynamo

Dynamo original paper, Amazon, 2007

Primary teaching locations: L27.

fdb

FoundationDB architecture paper, 2021

Primary teaching locations: L30, L42, L46, L48.

fdbarchitecture

FoundationDB 8.0 architecture

Primary teaching locations: L46.

fdbguide

FoundationDB 8.0 developer guide

Primary teaching locations: L46.

http

RFC 9110: HTTP semantics

Primary teaching locations: L05.

insforgerealtime

InsForge realtime overview

Primary teaching locations: L33, L47.

jepsen

Jepsen consistency models

Primary teaching locations: L42.

kingman

Kingman: The single server queue in heavy traffic, 1961

Primary teaching locations: L06.

linearizability

Herlihy and Wing: Linearizability, 1990

Primary teaching locations: L26.

linuxio

Linux write system call

Primary teaching locations: L02.

mit

MIT 6.5840 distributed systems curriculum, Spring 2026

Primary teaching locations: L25.

mitschedule

MIT 6.5840 schedule, Spring 2026

Primary teaching locations: L25.

pacelc

Abadi: Consistency tradeoffs, 2012

Primary teaching locations: L26.

paxos

Paxos Made Simple, 2001

Primary teaching locations: L28.

pgalter

PostgreSQL 18 ALTER TABLE

Primary teaching locations: L41.

pgbackup

PostgreSQL 18 backup and restore

Primary teaching locations: L39.

pgbtree

PostgreSQL 18 B-tree implementation

Primary teaching locations: L10, L23.

pgconnections

PostgreSQL 18 connection handling

Primary teaching locations: L43.

pgconstraints

PostgreSQL 18 constraints

Primary teaching locations: L07.

pgcreateindex

PostgreSQL 18 CREATE INDEX

Primary teaching locations: L41.

pgexecutor

PostgreSQL 18 executor

Primary teaching locations: L15.

pgexplain

PostgreSQL 18 EXPLAIN

Primary teaching locations: L16.

pgfunctions

PostgreSQL 18 user-defined functions

Primary teaching locations: L18.

pgindexes

PostgreSQL 18 index types

Primary teaching locations: L12.

pgiso

PostgreSQL 18 transaction isolation

Primary teaching locations: L01, L20, L21.

pglocks

PostgreSQL 18 explicit locking

Primary teaching locations: L20.

pglogical

PostgreSQL 18 logical decoding

Primary teaching locations: L33.

pgmatviews

PostgreSQL 18 materialized views

Primary teaching locations: L32.

pgmulti

PostgreSQL 18 multicolumn indexes

Primary teaching locations: L10.

pgpages

PostgreSQL 18 page layout

Primary teaching locations: L08.

pgpath

PostgreSQL 18 query path

Primary teaching locations: L13.

pgpitr

PostgreSQL 18 continuous archiving and PITR

Primary teaching locations: L39.

pgplanner

PostgreSQL 18 planner

Primary teaching locations: L14.

pgprotocol

PostgreSQL 18 frontend/backend protocol

Primary teaching locations: L05.

pgreplication

PostgreSQL 18 streaming replication

Primary teaching locations: L27.

pgresource

PostgreSQL 18 resource consumption

Primary teaching locations: L09, L35.

pgrls

PostgreSQL 18 row security

Primary teaching locations: L40.

pgssl

PostgreSQL 18 TLS connections

Primary teaching locations: L40.

pgstats

PostgreSQL 18 planner statistics

Primary teaching locations: L16.

pgtransactions

PostgreSQL 18 transactions tutorial

Primary teaching locations: L37.

pgvacuum

PostgreSQL 18 routine vacuuming

Primary teaching locations: L21.

pgvector

pgvector official implementation and documentation

Primary teaching locations: L12.

pgwal

PostgreSQL 18 WAL introduction

Primary teaching locations: L02, L19, L48.

pgwalconfig

PostgreSQL 18 WAL configuration

Primary teaching locations: L24.

quic

RFC 9000: QUIC

Primary teaching locations: L04.

raft

Raft extended paper, 2014

Primary teaching locations: L25, L28, L48.

rediscluster

Redis Cluster specification

Primary teaching locations: L45.

rediseviction

Redis key eviction

Primary teaching locations: L45.

redislatency

Redis latency documentation

Primary teaching locations: L03, L45.

redispersistence

Redis persistence documentation

Primary teaching locations: L45.

rocks

RocksDB overview

Primary teaching locations: L11, L44.

rocksblock

RocksDB block cache

Primary teaching locations: L09.

rockscompaction

RocksDB compaction

Primary teaching locations: L11.

rocksstalls

RocksDB write stalls

Primary teaching locations: L35.

snowflake

Snowflake elastic warehouse paper, 2016

Primary teaching locations: L36.

spacetimearch

SpacetimeDB key architecture, 2.x documentation

Primary teaching locations: L18, L47.

spacetimehome

SpacetimeDB product positioning, homepage showing v2.13 on verification date

Primary teaching locations: L47.

spacetimerepo

SpacetimeDB repository and README, rolling master

Primary teaching locations: L47.

spacetimerls

SpacetimeDB access control guidance

Primary teaching locations: L40.

spacetimescale

SpacetimeDB scaling architecture and roadmap, September 2026

Primary teaching locations: L22, L47, L48.

spacetimesubscriptions

SpacetimeDB subscriptions

Primary teaching locations: L33.

spacetimeviews

SpacetimeDB views, 2.x documentation

Primary teaching locations: L32, L47.

spanner

Spanner original paper, Google, 2012

Primary teaching locations: L30, L38, L46.

sqliteappropriate

Appropriate uses for SQLite

Primary teaching locations: L18.

sqlitearch

SQLite architecture

Primary teaching locations: L13, L17, L43.

sqliteatomic

Atomic commit in SQLite

Primary teaching locations: L24.

sqliteformat

SQLite database file format

Primary teaching locations: L08.

sqlitetesting

SQLite testing architecture

Primary teaching locations: L42.

sqlitewal

SQLite write-ahead logging

Primary teaching locations: L43.

sremonitor

Google SRE: monitoring distributed systems

Primary teaching locations: L42.

sreretry

Google SRE: handling overload

Primary teaching locations: L34.

stanford

Stanford CS144 networking curriculum, Fall 2026

Primary teaching locations: L04.

tail

The Tail at Scale, 2013

Primary teaching locations: L06, L34.

tcp

RFC 9293: TCP

Primary teaching locations: L03, L04.

timeclocks

Lamport: Time, Clocks, and the Ordering of Events, 1978

Primary teaching locations: L25.

tls

RFC 8446: TLS 1.3, historical specification

Primary teaching locations: L04.

websocket

RFC 6455: WebSocket

Primary teaching locations: L05.