Designing Data-Intensive Applications versus Fundamentals of Data Engineering.

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
Designing Data-Intensive Applications
Martin Kleppmann, Chris Riccomini · 2026
READ FULL REVIEW →
Option B
Fundamentals of Data Engineering
Fundamentals of Data Engineering
Joe Reis, Matt Housley · 2022
READ FULL REVIEW →
Author
Martin Kleppmann, Chris Riccomini
Joe Reis, Matt Housley
Pages
720
447
Published
2026
2022
Publisher
O'Reilly Media
O'Reilly Media
Level
intermediate to advanced
intermediate
Amazon Rating
4.7/5 (312)
4.5/5 (860)
Goodreads Rating
4.55/5 (480)
4.15/5 (1,019)
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 Data Engineering
Strengths
+ Tool-agnostic: teaches principles that survive stack churn
+ The lifecycle framework organizes a chaotic field
+ Strong on the undercurrents most tutorials skip
+ Great onboarding for engineers new to data work
Caveats
Deliberately high-level: few hands-on code examples
Experienced data engineers may find early chapters basic
Broad coverage means no single topic goes deep
The verdict
Read Fundamentals of Data Engineering first to build foundations, then move to Designing Data-Intensive Applications for advanced concepts.
Designing Data-Intensive Applications
Check Price on Amazon →
Fundamentals of Data Engineering
Check Price on Amazon →
Frequently asked
Which is better, Designing Data-Intensive Applications or Fundamentals of Data Engineering?
Read Fundamentals of Data Engineering 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 Data Engineering worth reading in 2026?
Yes. Because it teaches a tool-agnostic lifecycle rather than a specific stack, it has aged well while individual tools churn. It is the standard first book for engineers entering data work and a solid framework for teams standardizing their approach.