A white paper shows the implementation details and the practical aspects of building a system. Most of the trade-offs in it come from the product requirements.
Memcached at Facebook is the example. A request for a profile is an aggregate query that hits multiple shards, so splitting the key space makes things worse. Facebook chose replication.
The papers run from number 20 to number one:
- Monolith, FlexiRaft, Spanner and Minesweeper: real-time recommendations at TikTok, quorums at Meta, a strongly consistent database at Google, and automated root cause analysis.
- Cassandra, FoundationDB from Apple and Amazon Aurora: three databases.
- Pregel, Dapper, Chubby, Megastore, Bigtable, MapReduce and the Google File System: graph processing, tracing, distributed locks, storage and data processing at Google.
- TAO, the graph store from Meta.
- Memcached, in the top five.
- Monarch and Gorilla, the time series databases of Google and Facebook. Gorilla is in the top three.
- Amazon DynamoDB, at number two.
Zanzibar, a system by Google, is number one, for its practical optimizations around rate limiting and fault tolerance.