Designing Data-Intensive Applications versus Fundamentals of Software Architecture.
Both show up on every "best" list. They're not competitors. They're a sequence. Here's which one to read first, and when.
Reviewed by Ashish Sheth · Updated July 2026
Option A
Designing Data-Intensive Applications
Martin Kleppmann, Chris Riccomini · 2026
READ FULL REVIEW →
Author
Martin Kleppmann, Chris Riccomini
Mark Richards, Neal Ford
Pages
720
422
Published
2026
2020
Publisher
O'Reilly Media
O'Reilly Media
Level
intermediate to advanced
intermediate
Amazon Rating
4.7/5 (312)
4.5/5 (1,130)
Goodreads Rating
4.55/5 (480)
4.23/5 (2,348)
Designing Data-Intensive Applications
Strengths
+ Best-in-class explanations of distributed systems fundamentals
+ Vendor-neutral: teaches principles, not specific tools
+ Excellent diagrams that make consensus and replication finally click
+ 2nd edition refreshes every chapter and adds AI/ML data systems coverage
Caveats
− Dense: not a weekend read, expect 3-4 months at one chapter per week
− Light on hands-on code; pair with a database internals book for implementation depth
− Some readers wish the new edition went deeper on cloud-native specifics
Fundamentals of Software Architecture
Strengths
+ The clearest survey of architecture styles in one place
+ Trade-off tables make comparisons concrete instead of hand-wavy
+ Balances technical depth with the soft skills of the role
+ Great bridge from writing code to designing systems
Caveats
− Breadth over depth: each style is a starting point, not a deep dive
− Some readers find the diagrams and star-rating tables simplistic
− A 2nd edition (2025) exists, so check which edition you buy
The verdict
Read Fundamentals of Software Architecture first to build foundations, then move to Designing Data-Intensive Applications for advanced concepts.
Designing Data-Intensive Applications
Check Price on Amazon →
Fundamentals of Software Architecture
Check Price on Amazon →
Frequently asked
Which is better, Designing Data-Intensive Applications or Fundamentals of Software Architecture?
Read Fundamentals of Software Architecture first to build foundations, then move to Designing Data-Intensive Applications for advanced concepts.
Is the 2nd edition of Designing Data-Intensive Applications worth buying if I already own the first?
If you read the first edition cover to cover already, the upgrade is incremental: every chapter is refreshed and there's new coverage of AI/ML data systems, cloud-native architectures, and modern streaming. If you skimmed the first or read it years ago, the 2nd edition is the better starting point.
Is Fundamentals of Software Architecture worth reading in 2026?
Yes. It remains the best single-book survey of architecture styles and the trade-off thinking behind them. A second edition shipped in 2025 with refreshed material, so buy the latest if you can. The core framework holds regardless of edition.