ST Stash PUBLIC
This collection was curated with Stash, a read-later app with highlights. See how it works →

// PUBLIC COLLECTION stash.ionize13.com/c/systems-reading-list

Systems reading list

Storage engines, data structures and distributed systems, with the passages worth remembering.

Curated by Insee Thaopech · Updated 2 hours ago

SOURCES
8
HIGHLIGHTS
16
NOTES
16

// SOURCE en.wikipedia.org · Saved Oct 2026 · 2 highlights · 1 note

Log-structured merge-tree

Contributors to Wikimedia projects

Read original at en.wikipedia.org

// CURATOR NOTE

Why RocksDB and Cassandra turn random writes into sequential ones.

// HIGHLIGHTS

“LSM trees, like other search trees, maintain key-value pairs.”
Why RocksDB and Cassandra turn random writes into sequential ones.
“LSM trees maintain data in two or more separate structures, each of which is optimized for its respective underlying storage medium; data is synchronized between the two structures efficiently, in batches.”
#storage #databases

// SOURCE en.wikipedia.org · Saved Oct 2026 · 2 highlights · 1 note

B-tree

Contributors to Wikimedia projects

Read original at en.wikipedia.org

// CURATOR NOTE

The read-optimised counterpart to LSM trees; still the default index in Postgres.

// HIGHLIGHTS

“In computer science, a B-tree is a self-balancing tree data structure that maintains sorted data and allows searches, sequential access, insertions, and deletions in logarithmic time.”
The read-optimised counterpart to LSM trees; still the default index in Postgres.
“By allowing more children under one node than a regular self-balancing binary search tree, the B-tree reduces the height of the tree and puts the data in fewer separate blocks.”
#storage #databases

// SOURCE en.wikipedia.org · Saved Oct 2026 · 2 highlights · 1 note

Bloom filter

Contributors to Wikimedia projects

Read original at en.wikipedia.org

// CURATOR NOTE

How LSM engines skip SSTables that cannot contain a key.

// HIGHLIGHTS

“In computing, a Bloom filter is a space-efficient probabilistic data structure, conceived by Burton Howard Bloom in 1970, that is used to test whether an element is a member of a set.”
How LSM engines skip SSTables that cannot contain a key.
“False positive matches are possible, but false negatives are not – in other words, a query returns either "possibly in set" or "definitely not in set".”
#data-structures

// SOURCE en.wikipedia.org · Saved Oct 2026 · 2 highlights · 1 note

Skip list

Contributors to Wikimedia projects

Read original at en.wikipedia.org

// CURATOR NOTE

The ordered structure behind many memtables, e.g. LevelDB.

// HIGHLIGHTS

“In computer science, a skip list (or skiplist) is a probabilistic data structure that allows average complexity for search as well as average complexity for insertion within an ordered sequence of elements.”
The ordered structure behind many memtables, e.g. LevelDB.
“Thus it can get the best features of a sorted array (for searching) while maintaining a linked list-like structure that allows insertion, which is not possible with a static array.”
#data-structures

// SOURCE en.wikipedia.org · Saved Oct 2026 · 2 highlights · 1 note

Write-ahead logging

Contributors to Wikimedia projects

Read original at en.wikipedia.org

// CURATOR NOTE

Durability first: log the change before touching the data pages.

// HIGHLIGHTS

“A write ahead log is an append-only auxiliary disk-resident structure used for crash and transaction recovery.”
Durability first: log the change before touching the data pages.
“In a system using WAL, all modifications are written to a log before they are applied.”
#storage #durability

// SOURCE en.wikipedia.org · Saved Oct 2026 · 2 highlights · 1 note

Consistent hashing

Contributors to Wikimedia projects

Read original at en.wikipedia.org

// CURATOR NOTE

Adding a node only moves about 1/n of the keys.

// HIGHLIGHTS

“Consistent hashing is used by Content Delivery Networks because it is useful for distributing requests for content from a rotating population of web servers.”
Adding a node only moves about 1/n of the keys.
“The addition of a server and the removal of a server (during scalability or outage) requires only items to be re-shuffled when the number of slots (i.e. servers) change.”
#distributed-systems

// SOURCE en.wikipedia.org · Saved Oct 2026 · 2 highlights · 1 note

Raft (algorithm)

Contributors to Wikimedia projects

Read original at en.wikipedia.org

// CURATOR NOTE

Consensus designed to be understandable: leader election plus log replication.

// HIGHLIGHTS

“Raft is a consensus algorithm designed as an alternative to the Paxos family of algorithms.”
Consensus designed to be understandable: leader election plus log replication.
“Raft is not Byzantine fault tolerant in the base form; the nodes trust the elected leader, and the algorithm assumes all participants are trustworthy, yielding only crash fault tolerance.”
#distributed-systems #consensus

// SOURCE en.wikipedia.org · Saved Oct 2026 · 2 highlights · 1 note

Conflict-free replicated data type

Contributors to Wikimedia projects

Read original at en.wikipedia.org

// CURATOR NOTE

Replicas that merge without coordination, the basis of local-first apps.

// HIGHLIGHTS

“CRDTs have also been used in online chat systems, online gambling, and in the SoundCloud audio distribution platform.”
Replicas that merge without coordination, the basis of local-first apps.
“The NoSQL distributed databases Redis, Riak and Cosmos DB have CRDT data types.”
#distributed-systems #local-first