Buy new:
-21% $47.69
to get FREE delivery Tomorrow, November 16
Ships from: Amazon.com
Sold by: Amazon.com
$47.69 with 21 percent savings
List Price: $59.99
The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
FREE Returns
to get FREE delivery Tomorrow, November 16. Order within 19 hrs 31 mins
Or Non members get FREE delivery Wednesday, November 20
In Stock
$$47.69 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$47.69
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Sold by
Amazon.com
Returns
Returnable until Jan 31, 2025
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Returns
Returnable until Jan 31, 2025
For the 2024 holiday season, eligible items purchased between November 1 and December 31, 2024 can be returned until January 31, 2025.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$44.52
FREE Returns
All pages and the cover are intact, but shrink wrap, dust covers, or boxed set case may be missing. Pages may include limited notes, highlighting, or minor water damage but the text is readable. Item may be missing bundled media. All pages and the cover are intact, but shrink wrap, dust covers, or boxed set case may be missing. Pages may include limited notes, highlighting, or minor water damage but the text is readable. Item may be missing bundled media. See less
FREE delivery November 21 - 24
Or fastest delivery Thursday, November 21
$$47.69 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$47.69
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems 1st Edition

4.7 4.7 out of 5 stars 4,970 ratings

Great on Kindle
Great Experience. Great Value.
iphone with kindle app
Putting our best book forward
Each Great on Kindle book offers a great reading experience, at a better value than print to keep your wallet happy.

Explore your book, then jump right back to where you left off with Page Flip.

View high quality images that let you zoom in to take a closer look.

Enjoy features only possible in digital – start reading right away, carry your library with you, adjust the font, create shareable notes and highlights, and more.

Discover additional details about the events, people, and places in your book, with Wikipedia integration.

Get the free Kindle app: Link to the kindle app page Link to the kindle app page
Enjoy a great reading experience when you buy the Kindle edition of this book. Learn more about Great on Kindle, available in select categories.
{"desktop_buybox_group_1":[{"displayPrice":"$47.69","priceAmount":47.69,"currencySymbol":"$","integerValue":"47","decimalSeparator":".","fractionalValue":"69","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"jq1xvVtnMyHzx6Biy2x8apdUrQOZE95dFWGa8l3UKVA6TDI7HPpKajSwiiST583sooWOdWFXR7TAtbvCqsVgeWYawGNlIVyu4Yasfy6i9iSAIc%2BSBoXIyxcmLnK2UXbkVaCThh4e2VTnN7X14FaejA%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$44.52","priceAmount":44.52,"currencySymbol":"$","integerValue":"44","decimalSeparator":".","fractionalValue":"52","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"jq1xvVtnMyHzx6Biy2x8apdUrQOZE95ddwBx1YgMU80Tj0V%2BTMZmcZAg%2FcTjDzfxC8qgwzM9bP1T%2BLtNOkjO1b0yClDN9WhGuQqEQl2BwttLjnn6swI7pd%2FK1FnEBex4%2FwWo8bzMZqXmakQ1F4lHkHtKdLuND7DUHA96RgVr3vTEHp%2B5iBGYEQ%3D%3D","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?

In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications.

  • Peer under the hood of the systems you already use, and learn how to use and operate them more effectively
  • Make informed decisions by identifying the strengths and weaknesses of different tools
  • Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity
  • Understand the distributed systems research upon which modern databases are built
  • Peek behind the scenes of major online services, and learn from their architectures


Amazon First Reads | Editors' picks at exclusive prices

Frequently bought together

This item: Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
$41.84
Get it Nov 25 - 29
In Stock
Ships from and sold by MyPrepbooks.
+
$37.99
Get it as soon as Wednesday, Nov 20
In Stock
Ships from and sold by Amazon.com.
+
$38.00
Get it as soon as Wednesday, Nov 20
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
These items are shipped from and sold by different sellers.
Choose items to buy together.
Popular Highlights in this book

From the brand


From the Publisher

Designing Data-Intensive Applications

Who Should Read This Book?

If you develop applications that have some kind of server/backend for storing or processing data, and your applications use the internet (e.g., web applications, mobile apps, or internet-connected sensors), then this book is for you.

This book is for software engineers, software architects, and technical managers who love to code. It is especially relevant if you need to make decisions about the architecture of the systems you work on—for example, if you need to choose tools for solving a given problem and figure out how best to apply them. But even if you have no choice over your tools, this book will help you better understand their strengths and weaknesses.

You should have some experience building web-based applications or network services, and you should be familiar with relational databases and SQL. Any non-relational databases and other data-related tools you know are nice, but not required.

A general understanding of common network protocols like TCP and HTTP is helpful. Your choice of programming language or framework makes no difference for this book.

If any of the following are true for you, you’ll find this book valuable:

  • You want to learn how to make data systems scalable, for example, to support web or mobile apps with millions of users.
  • You need to make applications highly available (minimizing downtime) and operationally robust.
  • You are looking for ways of making systems easier to maintain in the long run, even as they grow and as requirements and technologies change.
  • You have a natural curiosity for the way things work and want to know what goes on inside major websites and online services. This book breaks down the internals of various databases and data processing systems, and it’s great fun to explore the bright thinking that went into their design.

Designing Data-Intensive Applications

Sometimes, when discussing scalable data systems, people make comments along the lines of, 'You’re not Google or Amazon. Stop worrying about scale and just use a relational database'. There is truth in that statement: building for scale that you don’t need is wasted effort and may lock you into an inflexible design. In effect, it is a form of premature optimization. However, it’s also important to choose the right tool for the job, and different technologies each have their own strengths and weaknesses. As we shall see, relational databases are important but not the final word on dealing with data.

Scope of This Book

This book does not attempt to give detailed instructions on how to install or use specific software packages or APIs, since there is already plenty of documentation for those things. Instead we discuss the various principles and trade-offs that are fundamental to data systems, and we explore the different design decisions taken by different products.

We look primarily at the architecture of data systems and the ways they are integrated into data-intensive applications. This book doesn’t have space to cover deployment, operations, security, management, and other areas—those are complex and important topics, and we wouldn’t do them justice by making them superficial side notes in this book. They deserve books of their own.

Many of the technologies described in this book fall within the realm of the Big Data buzzword. However, the term 'Big Data' is so overused and underdefined that it is not useful in a serious engineering discussion. This book uses less ambiguous terms, such as single-node versus distributed systems, or online/interactive versus offline/batch processing systems.

This book has a bias toward free and open source software (FOSS), because reading, modifying, and executing source code is a great way to understand how something works in detail. Open platforms also reduce the risk of vendor lock-in. However, where appropriate, we also discuss proprietary software (closed-source software, software as a service, or companies’ in-house software that is only described in literature but not released publicly).

Editorial Reviews

About the Author

Martin is a researcher in distributed systems at the University of Cambridge. Previously he was a software engineer and entrepreneur at Internet companies including LinkedIn and Rapportive, where he worked on large-scale data infrastructure. In the process he learned a few things the hard way, and he hopes this book will save you from repeating the same mistakes.



Martin is a regular conference speaker, blogger, and open source contributor. He believes that profound technical ideas should be accessible to everyone, and that deeper understanding will help us develop better software.

Product details

  • Publisher ‏ : ‎ O'Reilly Media; 1st edition (May 2, 2017)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 611 pages
  • ISBN-10 ‏ : ‎ 1449373321
  • ISBN-13 ‏ : ‎ 978-1449373320
  • Item Weight ‏ : ‎ 1.47 pounds
  • Dimensions ‏ : ‎ 5.91 x 0.59 x 9.84 inches
  • Customer Reviews:
    4.7 4.7 out of 5 stars 4,970 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Martin Kleppmann
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Martin Kleppmann is a researcher in distributed systems and security at the University of Cambridge, and author of Designing Data-Intensive Applications (O'Reilly Media, 2017). Previously he was a software engineer and entrepreneur at Internet companies including LinkedIn and Rapportive, where he worked on large-scale data infrastructure. He is now working on TRVE DATA, a project that aims to bring end-to-end encryption and decentralisation to a wide range of applications.

Customer reviews

4.7 out of 5 stars
4,970 global ratings

Customers say

Customers find the subject material well-organized, detailed, and thorough. They describe the book as amazing, a good read for techies, and well worth picking up. Readers praise the writing quality as clear, fantastic, and easy to read. However, some customers report missing pages.

AI-generated from the text of customer reviews

165 customers mention "Knowledge level"162 positive3 negative

Customers find the subject material well-organized and detailed. They say the book is invaluable for practical knowledge and useful in their day-to-day work. Readers also mention the author makes complex concepts look simple. In addition, they say the structure of the book is well-thought-out and examines a long list of data-related paradigms.

"...Bringing in this history really gives a lot of context around the original problems that were being solved, which in turn helps understanding pros..." Read more

"...known about building large, scalable, high performance, data centric applications...." Read more

"Nice book with complete coverage of modern data processing, several of my colleague friends recommend it, read one chapter , good" Read more

"...In addition to the author's abundant and effective simple line diagrams that are reminiscent (although more sophisticated) of his earlier diagrams,..." Read more

130 customers mention "Value for money"130 positive0 negative

Customers find the book amazing, insightful, and engaging. They say it's well worth picking up, makes them feel smart, and that the author is thought-provoking.

"...It teaches you to read between the lines on how certain technologies work so that you can identify the pros and cons early and without needing them..." Read more

"Nice book with complete coverage of modern data processing, several of my colleague friends recommend it, read one chapter , good" Read more

"...He’s definitely one of the best engineers and teacher." Read more

"Pretty good book, I found a lot of the good/more relevant parts can sometimes get lost in tangents but definitely some great content...." Read more

68 customers mention "Writing quality"57 positive11 negative

Customers find the writing quality fantastic, clear, and accessible. They also say the book is an easy read with a succinct, incisive style. Readers appreciate the comprehensive, coherent, and detailed coverage.

"...that form the formal foundations of the subject, But it is so clearly written, and accessible, that you could go a very long way without needing to..." Read more

"...Overall the author is brilliant and I’ve followed his blog posts for a couple years (turning the database inside out etc.)..." Read more

"...everything from a high level perspective which makes it easy for a developer to implement...." Read more

"...Kleppmann has a deep knowledge of the fundamentals and he writes in lucid, simple prose so that anyone can understand the concepts...." Read more

6 customers mention "Scalability"6 positive0 negative

Customers find the book provides an enjoyable overview of scalable systems.

"...nearly everything that is currently known about building large, scalable, high performance, data centric applications...." Read more

"...12 chapters: (1) foundations of data systems, which covers reliable, scalable, and maintainable applications, data models and query languages,..." Read more

"...provides a fantastic conceptual overview of data storage, access, scalability, etc...." Read more

"...and guild on the current state of the art in crafting reliable, scalable, understandable data-intensive systems...." Read more

4 customers mention "History"4 positive0 negative

Customers find the book's history excellent and timeless.

"...It also includes a lot of history on how these options have evolved or been superseded over time...." Read more

"Pretty good book to read through or to use as reference. Will be pretty timeless because although it references some specific technologies for..." Read more

"This is an excellent overview about the past and current state of distributed systems technology, and the advice within will remain relevant in the..." Read more

"Classic!..." Read more

4 customers mention "Storage technology"4 positive0 negative

Customers find the book particularly heavy on storage aspects. They say it's a wonderful tour of theories behind storage technologies.

"...foundational aspects of both distributed computing and data storage in a chorent manner...." Read more

"This book provides a fantastic conceptual overview of data storage, access, scalability, etc...." Read more

"...The book is particularly heavy on the storage aspects. This is a great book for preparing for system design interviews." Read more

"...This is a wonderful tour of theories behind storage technologies, and great conclusion at the end that is relevant for modern data processing..." Read more

3 customers mention "Bibliography"3 positive0 negative

Customers find the bibliography in the book thorough, with citations, resources, and footnotes. They say it's explained in detail with a huge backing of references.

"...intensive applications under one roof with good explanations and numerous footnotes which point to resources providing additional detail...." Read more

"...If you want to dive deeper into any topic, each chapter is thoroughly annotated with citations, resources, and footnotes...." Read more

"...amazing examples; all concepts are explained in detail with huge backing of references...." Read more

11 customers mention "Page missing"0 positive11 negative

Customers find that about 20 pages are missing from the book. They also say there are many blank pages with missing content.

"...However I bought it and saw that it was missing the first 40 pages." Read more

"I’m fine with not high quality papers. But missing 18 pages is not acceptable for a new book." Read more

"...but printing QA let this instance to be sent to a customer with missing pages (32, to be precise)...." Read more

"...content is quite good, but I just noticed that in my copy, about 20 pages are missing, and instead some 20 pages from other part of the book is..." Read more

Nice book with complete coverage of modern data processing
5 out of 5 stars
Nice book with complete coverage of modern data processing
Nice book with complete coverage of modern data processing, several of my colleague friends recommend it, read one chapter , good
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

Reviewed in the United States on June 1, 2020
Designing Data-Intensive Applications really exceeded my expectations. Even if you are experienced in this area this book will re-enforce things you know (or sort of know) and bring to light new ways of thinking about solving distributed systems and data problems. It will give you a solid understanding of how to choose the right tech for different use cases.

The book really pulls you in with an intro that is more high level, but mentions problems and solutions that really anyone who has worked on these types of applications have either encountered or heard mention of. The promise it makes is to take these issues such as scalability, maintainability and durability and explain how to decide on the right solutions to these issues for the problems you are solving. It does an amazing job of that throughout the book.

This book covers a lot, but at the same time it knows exactly when to go deep on a subject. Right when it seems like it may be going too deep on things like how different types of databases are implemented (SSTables, B-trees, etc.) or on comparing different consensus algorithms, it is quick to point out how and why those things are important to practical real-world problems and how understanding those things is actually vital to the success of a system.

Along those same lines it is excellent at circling back to concepts introduced at prior points in the book. For example the book goes into how log based storage is used for some databases as their core way of storing data and for durability in other cases. Later in the book when getting into different message/eventing systems such as Kafka and ActiveMQ things swing back to how these systems utilize log based storage in similar ways. Even if you have prior knowledge or even have worked with these technologies, how and why they work and the pros and cons of each become crystal clear and really solidified. Same can be said of it's great explanations of things like ZooKeeper and why specific solutions like Kafka make use of it.

This book is also amazing at shedding light on the fact that so little of what is out there is totally new, it attempts to go back as far as it can at times on where a certain technology's ideas originated (back to the 1800s at some points!). Bringing in this history really gives a lot of context around the original problems that were being solved, which in turn helps understanding pros and cons. One example is the way it goes through the history of batch processing systems and HDFS. The author starts with MapReduce and relating it to tech that was developed decades before. This really clarifies how we got from batch processing systems on proprietary hardware to things like MapReduce on commodity hardware thanks in part to HDFS, eventually to stream based processing. It also does great at explaining the pros and cons of each and when one might choose one technology over the other.

That's really the theme of this book, teaching the reader how to compare and contrast different technologies for solving distributed systems and data problems. It teaches you to read between the lines on how certain technologies work so that you can identify the pros and cons early and without needing them to be spelled out by the authors of those technologies. When thinking about databases it teaches you to really consider the durability/scalability model and how things are no where near black and white between "consistent" vs "eventually consistent", these is a ton of nuance there and it goes deep on things like single vs multi leader vs leaderless, linearizability, total order broadcast, and different consensus algorithms.

I could go on forever about this book. To name a few other things it touches on to get a good idea of the breadth here: networking (and networking faults), OLAP, OLTP, 2 phase locking, graph databases, 2 phase commit, data encoding, general fault tolerance, compatibility, message passing, everything I mentioned above, and the list goes on and on and on. I recommend anyone who does any kind of work with these systems takes the time to read this book. All 600ish pages are worth reading, and it's presented in an excellent, engaging way with real world practical examples for everything.
25 people found this helpful
Report
Reviewed in the United States on May 3, 2020
It is really hard to overstate how comprehensively this book covers nearly everything that is currently known about building large, scalable, high performance, data centric applications. If every Kafka queueing, Cassandra clustering, Redis loving, Kinesis slinging, Map reducing, CAP theorem quoting systems engineer read this book, the world would actually be a better place. It really is that good.

The front pages contain a quote from Alan Kay that I will summarize as "most people who write code for money ... have no idea where [their culture came from]." This book will learn you some of the culture you are missing! Every developer writing modern Internet facing application software, particularly in cloud computing environments, will run into the problems described here. Far too many of these developers will pick up a grab bag of half baked solutions from reading various Stack Overflow posts, blogs from better informed writers, and from hyped up claims made by the currently trendy "technologies." Many of these sources will obscure the fundamental nature of the underlying problems, and will lead said developers to overly naive designs, and provide a false sense of security. Such systems will even work pretty nicely for a while, but they will usually fail spectacularly when they are actually presented with component failures or high system load (or both at the same time, which is quite typical).

This book talks about the underlying structure of the problems we all face when building contemporary distributed applications. It ties together all the foundational aspects of both distributed computing and data storage in a chorent manner. It teaches you how to think about the problem space by demonstrating where many popular and widely used software products fit. You're not going to learn about any one single product. Instead you will learn what you must know to evaluate as many of them as you want, learn which interactions between different components matter, and then make informed choices for your own design.

This is not an academic text book, it is a working professional's guide to the field. It has all the references to the classic papers and textbooks that form the formal foundations of the subject, But it is so clearly written, and accessible, that you could go a very long way without needing to read any of them.
3 people found this helpful
Report
Reviewed in the United States on September 18, 2024
Nice book with complete coverage of modern data processing, several of my colleague friends recommend it, read one chapter , good
Customer image
5.0 out of 5 stars Nice book with complete coverage of modern data processing
Reviewed in the United States on September 18, 2024
Nice book with complete coverage of modern data processing, several of my colleague friends recommend it, read one chapter , good
Images in this review
Customer image Customer image Customer image Customer image Customer image Customer image Customer image
Customer imageCustomer imageCustomer imageCustomer imageCustomer imageCustomer imageCustomer image
One person found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Sparky Wonderdog
5.0 out of 5 stars Muy bonito libro
Reviewed in Mexico on September 20, 2024
Es una compilación de mejores prácticas y conceptos hasta cierto punto "universales" que ayudan a entender las aplicaciones de alto rendimiento ejecutadas sobre entornos de alta disponibilidad en nuestros días.

Sentido común para profesionales de TI, que nunca está de más repasar.

Muy vigente, muy ameno, cuando termine de leerlo le doy un update a la reseña, por lo que llevo, mis diez.
Ivan de Oliveira Costa Junior
5.0 out of 5 stars Simplesmente um "must have" para qualquer dev, arquiteto, cientista de dados ou consultor de TI!
Reviewed in Brazil on December 13, 2021
Livro completo, mostra as entranhas e os mecanismos dos sistemas distribuídos modernos com bastante ênfase a streams e Big data. Muito já consideram a obra como um clássico e não é atoa, é por merecimento! Recomendadíssimo!
Customer image
Ivan de Oliveira Costa Junior
5.0 out of 5 stars Simplesmente um "must have" para qualquer dev, arquiteto, cientista de dados ou consultor de TI!
Reviewed in Brazil on December 13, 2021
Livro completo, mostra as entranhas e os mecanismos dos sistemas distribuídos modernos com bastante ênfase a streams e Big data. Muito já consideram a obra como um clássico e não é atoa, é por merecimento! Recomendadíssimo!
Images in this review
Customer image
Customer image
Kenneth
5.0 out of 5 stars Almost every chapter I read is applicable to my day to day work
Reviewed in the United Kingdom on November 8, 2024
I have not read the full book yet but almost every chapter I read is in some way applicable to my day to day work at the Fintech that I work at. The examples and explanations this book contains are very clear, simple to understand and relevant to the real world.

Very interesting text book. Quite a page turner.
Customer image
Kenneth
5.0 out of 5 stars Almost every chapter I read is applicable to my day to day work
Reviewed in the United Kingdom on November 8, 2024
I have not read the full book yet but almost every chapter I read is in some way applicable to my day to day work at the Fintech that I work at. The examples and explanations this book contains are very clear, simple to understand and relevant to the real world.

Very interesting text book. Quite a page turner.
Images in this review
Customer image Customer image Customer image
Customer imageCustomer imageCustomer image
Nikola Zifra
3.0 out of 5 stars Lacks details
Reviewed in the United Arab Emirates on September 18, 2024
This book provides a high level overview but unfortunatly lacks quite a bit of detail
abraiek
5.0 out of 5 stars In-depth and Insightful Resource.
Reviewed in Germany on August 1, 2024
I found "Designing Data-Intensive Applications" to be an excellent resource for anyone interested in building and understanding data-intensive systems.
Customer image
abraiek
5.0 out of 5 stars In-depth and Insightful Resource.
Reviewed in Germany on August 1, 2024
I found "Designing Data-Intensive Applications" to be an excellent resource for anyone interested in building and understanding data-intensive systems.
Images in this review
Customer image
Customer image