I Heart Logs (Jay Kreps): The Log as the Backbone of Distributed Data
Explain, chapter by chapter from Jay Kreps' 'I Heart Logs', why the append-only log is the unifying abstraction behind databases, consensus/replication, data integration, and stream processing, and confidently discuss offsets, CDC, log compaction, partitioning, and the Kappa-style alternative to Lambda in senior/staff distributed-systems interviews, connecting it to hands-on experience building a Rust CDC change-feed consumer.
4 sections · 21 lessons
Course outline
Ch 1: Introduction — What Is a Log?
- The log as a data structure
- Logs in databases
- Logs in distributed systems: state machine replication
- Logs and consensus
- Changelog 101: tables and events are dual
Ch 2: Data Integration
- Why data integration is hard
- Log-structured data flow
- Lessons from LinkedIn
- ETL, the data warehouse, and organizational scalability
- Decoupling systems
- Scaling a log
Ch 3: Logs and Real-Time Stream Processing
- Stream processing as continuous computation
- Data flow graphs
- Logs and stream processing: multi-subscriber, ordered, buffered
- Lambda architecture: the good and the bad
- The alternative: reprocessing from the log
- Stateful real-time processing
- Log compaction
Ch 4: Building Data Systems with Logs
- Unbundling the database
- The place of the log in system architecture
- Conclusion and interview synthesis