Course contents
On this page
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
| Authors | Year | Work and architectural question |
|---|---|---|
| Leslie Lamport | 1978 | Time, Clocks, and the Ordering of Events: causal order without assuming one global clock |
| Maurice Herlihy and Jeannette Wing | 1990 | Linearizability: a real-time correctness condition for concurrent objects |
| C. Mohan and colleagues | 1992 | ARIES: recovery with fine-grained concurrency and partial rollback |
| Leslie Lamport | 2001 | Paxos Made Simple: agreement under failures |
| Seth Gilbert and Nancy Lynch | 2002 | CAP result: availability and consistency under network partitions |
| Giuseppe DeCandia and colleagues | 2007 | Dynamo: available partitioned storage and conflict handling |
| Daniel Abadi | 2012 | PACELC: latency and consistency beyond partition-time decisions |
| Alexander Thomson and colleagues | 2012 | Calvin: deterministic ordering for partitioned transactions |
| James Corbett and colleagues | 2012 | Spanner: global transactions and explicit time uncertainty |
| Jeffrey Dean and Luiz André Barroso | 2013 | The Tail at Scale: tail behavior in large services |
| Diego Ongaro and John Ousterhout | 2014 | Raft: understandable replicated-log consensus |
| Benoit Dageville and colleagues | 2016 | Snowflake: elastic shared-data analytical architecture |
| Alexandre Verbitski and colleagues | 2017 | Aurora: specialized distributed storage for a relational service |
| Jingyu Zhou and colleagues | 2021 | FoundationDB: 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 specification | Scope used in the manuscript | Interpretation limit |
|---|---|---|
| PostgreSQL | Major version 18 documentation | Extension and deployment behavior still depend on the installed configuration. |
| SQLite | Official rolling architecture, format, WAL, atomic-commit, and testing documentation | Journal mode, filesystem support, and durability settings are explicit parts of each example. |
| RocksDB | Official rolling project wiki | The host selects APIs, transaction behavior, and persistence configuration; no fixed release benchmark is asserted. |
| Cassandra | 5.0 documentation family, including official rolling pages consulted for architecture and modeling | Repair automation and conditional-operation behavior require the selected deployed version. |
| Redis | Official rolling persistence, latency, eviction, and Cluster documentation | Threading and deployment variants differ; no claim treats all work as one permanently single-threaded implementation. |
| SpacetimeDB | 2.x documentation, September 2026 scaling explanation, rolling repository; homepage displayed v2.13 | Roadmaps remain separate from shipped behavior. Vendor performance assessments are identified as vendor-reported. |
| Convex and ClickHouse | Official rolling architecture and behavior documentation | Architectural comparisons are workload analysis rather than release-matched measured rankings. |
| FoundationDB | 2021 architecture paper and official 8.0 developer/architecture documentation | The historical paper and current documented interface are distinguished. |
| CockroachDB | Official stable documentation consulted on the verification date | Historical design summaries are not substituted for every detail of a configured current cluster. |
| TCP, QUIC, HTTP, WebSocket | Identified RFCs in the catalog | Each RFC supports its stated protocol scope; transport does not define application transaction semantics. |
| TLS | RFC 8446 is retained as a historical TLS 1.3 reference | It 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
Primary teaching locations: L26.
cassarchitecture
Primary teaching locations: L44.
casspartition
Primary teaching locations: L29.
cassrepair
Primary teaching locations: L44.
cassreplication
Cassandra 5.0 Dynamo architecture
Primary teaching locations: L27.
clickarch
Primary teaching locations: L12, L17, L47.
clickdistributed
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
Primary teaching locations: L31.
cocklocality
CockroachDB multi-region overview
Primary teaching locations: L38.
cockreplication
Primary teaching locations: L46.
cocktransactions
Primary teaching locations: L30, L46.
convexocc
Convex optimistic concurrency control
Primary teaching locations: L22, L47.
convexrealtime
Primary teaching locations: L32, L47.
cppmemory
C++ working draft memory model
Primary teaching locations: L23.
debezium
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
Primary teaching locations: L46.
fdbguide
FoundationDB 8.0 developer guide
Primary teaching locations: L46.
http
Primary teaching locations: L05.
insforgerealtime
Primary teaching locations: L33, L47.
jepsen
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
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
Primary teaching locations: L28.
pgalter
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
Primary teaching locations: L07.
pgcreateindex
Primary teaching locations: L41.
pgexecutor
Primary teaching locations: L15.
pgexplain
Primary teaching locations: L16.
pgfunctions
PostgreSQL 18 user-defined functions
Primary teaching locations: L18.
pgindexes
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
Primary teaching locations: L08.
pgpath
Primary teaching locations: L13.
pgpitr
PostgreSQL 18 continuous archiving and PITR
Primary teaching locations: L39.
pgplanner
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
Primary teaching locations: L40.
pgssl
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
Primary teaching locations: L04.
raft
Primary teaching locations: L25, L28, L48.
rediscluster
Primary teaching locations: L45.
rediseviction
Primary teaching locations: L45.
redislatency
Primary teaching locations: L03, L45.
redispersistence
Redis persistence documentation
Primary teaching locations: L45.
rocks
Primary teaching locations: L11, L44.
rocksblock
Primary teaching locations: L09.
rockscompaction
Primary teaching locations: L11.
rocksstalls
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
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
Primary teaching locations: L18.
sqlitearch
Primary teaching locations: L13, L17, L43.
sqliteatomic
Primary teaching locations: L24.
sqliteformat
Primary teaching locations: L08.
sqlitetesting
Primary teaching locations: L42.
sqlitewal
Primary teaching locations: L43.
sremonitor
Google SRE: monitoring distributed systems
Primary teaching locations: L42.
sreretry
Primary teaching locations: L34.
stanford
Stanford CS144 networking curriculum, Fall 2026
Primary teaching locations: L04.
tail
Primary teaching locations: L06, L34.
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
Primary teaching locations: L05.