Designing Data-Intensive Applications by Martin Kleppmann

Principles and practicalities of data systems and how to build data-intensive applications.

I. 4 fundamental ideas that we need in order to design data-intensive applications.

II. Replication, partitioning/sharding, transactions, and what it means to achieve consistency and consensus in a distributed system.

III. Batch and stream processing.


Tagged: #book, #architecture, #data, #system