I am currently reading ``Designing Data-Intensive Applications’’ by Martin Kleppmann. This book provides valuable insights into the big ideas behind building reliable, scalable, and maintainable systems.
Chapters
The book into three sections which focus on different areas, we list these below.
Part 1: Foundations of Data Systems
- Reliable, Scalable, and Maintainable Systems
- Data Models and Query Languages
- Storage and Retrieval
- Encoding and Evolution
Part 2: Distributed Data
- Replication
- Partitioning
- Transactions
- The Trouble with Distributed Systems
- Consistency and Consensus
Part 3: Derived Data
- Batch Processing
- Stream Processing
- The Future of Data Systems
Rather than writing one long post we will break it down into individual pieces.
Part 1
Reliable, Scalable, and Maintainable Systems
In this chapter Kleppman
Data Models and Query Languages
Storage and Retrieval
Encoding and Evolution
Part 2: Distributed Data
- Replication
- Partitioning
- Transactions
- The Trouble with Distributed Systems
- Consistency and Consensus
Part 3: Derived Data
- Batch Processing
- Stream Processing
- The Future of Data Systems
Reference:
Kleppmann, M. (2017). Designing Data-Intensive Applications. O’Reilly Media.