Notes taken while reading, organized by book so a chapter is easy to find again later.
- 01/06
DDIA Ch1: Reliable, Scalable, and Maintainable Applications
Why modern applications are data-intensive rather than compute-intensive, and the three properties — reliability, scalability, maintainability — that matter most when designing them.
- 02/06
DDIA Ch2: Data Models and Query Languages
A survey of the relational, document, and graph data models, the query languages that accompany each, and the trade-offs that guide which one to choose.
- 03/06
DDIA Ch3: Storage and Retrieval
The internal data structures and algorithms — hash indexes, LSM-trees, B-trees, column-oriented storage — that let databases store data and retrieve it on demand.
- 04/06
DDIA Ch4: Encoding and Evolution
How serialization formats (JSON, Thrift, Protocol Buffers, Avro) and data-flow modes (databases, REST/RPC, message brokers) handle schema change over time.
- 05/06
DDIA Ch5: Replication
Leader-follower, multi-leader, and leaderless replication architectures, and the anomalies — read-your-own-writes, monotonic reads, consistent prefix reads — replication lag creates.
- 06/06
DDIA Ch6: Partitioning
How to split a large dataset across multiple machines — key-range vs hash partitioning, secondary indexes, rebalancing strategies, and request routing.