Save on pre-loved smartphones
Buy New
To see product details, add this item to your cart.
Ships from: Amazon.com
Sold by: Amazon.com
To see product details, add this item to your cart. You can always remove it later.
Shipper / Seller
Amazon.com
Amazon.com
Shipper / Seller
Amazon.com
Returns
30-day refund / replacement
30-day refund / replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Read full return policy
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
Gift options
Available at checkout
Available at checkout This item is a gift. Change
At checkout, you can add a custom message, a gift receipt for easy returns and have the item gift-wrapped
To see product details, add this item to your cart. You can always remove it later.
The book has been read, but looks new. The book cover has no visible wear, and the dust jacket is included if applicable. No missing or damaged pages, no tears, possible very minimal creasing, no underlining or highlighting of text, and no writing in the margins. The book has been read, but looks new. The book cover has no visible wear, and the dust jacket is included if applicable. No missing or damaged pages, no tears, possible very minimal creasing, no underlining or highlighting of text, and no writing in the margins. See less
Access codes and supplements are not guaranteed with used items.
Ships from and sold by worldofbooksusa.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
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

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

Follow the author

Get new release updates & improved recommendations
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.8 out of 5 stars (5,535)

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

Frequently bought together

This item: Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
$59.99
Only 8 left in stock - order soon.
Ships from and sold by Amazon.com.
+
$39.99
Get it as soon as Monday, May 25
In Stock
Ships from and sold by Amazon.com.
+
$40.00
Get it as soon as Monday, May 25
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
Some of these items ship sooner than the others.
Choose items to buy together.

Customers also bought or read

Loading...

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
  • Publication date ‏ : ‎ May 2, 2017
  • Edition ‏ : ‎ 1st
  • Language ‏ : ‎ English
  • Print length ‏ : ‎ 614 pages
  • ISBN-10 ‏ : ‎ 1449373321
  • ISBN-13 ‏ : ‎ 978-1449373320
  • Item Weight ‏ : ‎ 2.1 pounds
  • Dimensions ‏ : ‎ 7 x 1.25 x 9.5 inches
  • Best Sellers Rank: #9,298 in Books (See Top 100 in Books)
  • Customer Reviews:
    4.8 out of 5 stars (5,535)

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.8 out of 5 stars
5,535 global ratings

Customers say

Customers find this book to be a comprehensive guide to data-intensive applications, with detailed explanations and real-world big data architecture examples. Moreover, the book is well-structured and serves as an excellent resource for software engineers and systems architects, particularly for preparing for system design interviews. Customers appreciate its clear writing style, with one noting how the author makes complex concepts look simple.
AI Generated from the text of customer reviews

Select to learn more

165 customers mention content, 156 positive, 9 negative
Customers love the content of the book, finding it to be one of the best technical books available, with several noting it's worth re-reading periodically.
Great book .Read more
Really a complete an excellent book, well written and with clear examples on what to consider when building a data intensive appRead more
It's an amazing book. I found there all details/concepts how different highloaded/distributed systems(storage/processing) are designed.Read more
Very good book. Concepts well explained.Read more
122 customers mention informative, 120 positive, 2 negative
Customers find the book informative, with thorough topics and a great theoretical overview that builds knowledge from the basics.
...I wish I had started earlier. This book is very comprehensive and informative. The author makes complex concepts look simple....Read more
InsightfulRead more
My engineering manger recommended me this book, it is very insightful I recommend everybody to read itRead more
...A great reference and thought-provoker.Read more
69 customers mention technical, 67 positive, 2 negative
Customers find this technical book excellent for software engineers and systems architects, describing it as mandatory reading for professionals from beginner to pro.
This is a best technical book so far I have read this year. After finish book, we will have whole big pictures of all database system....Read more
...This is one of the best technical books that I've encountered, and I go back to it again and again....Read more
...A great book for practitioners who want to learn all the essential concepts quickly....Read more
Good read for all techies !...Read more
66 customers mention comprehensive, 63 positive, 3 negative
Customers praise the book's comprehensive approach, providing an excellent in-depth overview of modern techniques and clearly explaining real-world big data architecture.
A great overview of what’s going on in system design today....Read more
An exceptional book. Comprehensive, unusually coherent and readable even on complex topics. In ~500 pages there I only caught ~1-2 editing errors....Read more
Very detailed but also handles everything from a high level perspective which makes it easy for a developer to implement....Read more
Painstakingly researched and well documented book. One stop for lot of innovation and research in current distributed data.Read more
46 customers mention practical, 45 positive, 1 negative
Customers find the book practical and useful, particularly for software engineers preparing for system design interviews, with one customer noting it provides real-world examples for everything.
must-have for software engineersRead more
This is a very well written and practical book covering data intensive application as the title claims....Read more
I agree with other similar reviews. This book is a great resource, it’s laid out well and easy to read....Read more
Very good book with narratives and examples. Cannot stop.Read more
43 customers mention writing style, 38 positive, 5 negative
Customers praise the writing style of the book, noting its clear language and effective approach, with one customer highlighting that the author does not waste words.
My favorite technical book currently. Very well written and talk about a lots of interesting things that I encounter on daily basis.Read more
...recapping historical designs in the first half, but it is so well written with useable information, that it is an enjoyable read from cover to cover...Read more
...The replacement copy is of much better quality. Such a well-written and well-researched book does not deserve to be printed this way....Read more
The book content is good and very well-written. However, the quality of the paperback book is bad. The pages keep falling out of the binding...Read more
39 customers mention organization, 37 positive, 2 negative
Customers praise the book's organization, particularly its well-thought-out structure and comprehensive coverage of distributed systems design. One customer notes its thorough parsing of architecture features and trade-offs.
...This book, Designing Data-Intensive Applications, is an eye-opener for anyone who has ever wondered about the internals of these services....Read more
This book dives deep into its subject with clear structure and thoughtful explanations....Read more
...Book is nicely organized with lots of references and nice definitions.Read more
...Well-written. Well-organized.Read more
33 customers mention clarity, 29 positive, 4 negative
Customers find the book's concepts clear, with one customer noting how the author makes complex ideas simple and combines theory with practice.
Ideas are elaborately explained giving real world examples. Concepts are clear and intriguing. Helped me in cracking systems design interviewsRead more
...It will give you a solid understanding of how to choose the right tech for different use cases....Read more
...This book helped me in getting a clear understanding of every topic it has covered.Read more
Really informative, and not too technical....Read more
Designing Data-Intensive Applications
5 out of 5 stars
Designing Data-Intensive Applications
Fantastic book for Software Engineers or Designers who want to learn in deep detail about crucial subjects related to critical mission applications. Instead of only add Spring Annotations for Transactional isolation and propagation, now I know under the hood a lot of these and other related aspects which we need to consider the right tool for each scenario.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • 5 out of 5 stars
    Essential reading for anyone working on distributed systems in any capacity
    Reviewed in the United States on June 1, 2020
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    44 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    A practical introduction to distributed systems
    Reviewed in the United States on September 17, 2025
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    In today’s world, many of us have been tasked with building reliable, scalable services. Yet, more often than not, we rely on existing abstractions without fully understanding how the underlying systems work. Need a scalable database? Use MongoDB. Need a streaming service? Kafka is your go-to. While these tools get the job done, they often serve as crutches that prevent us from delving into the complexities of distributed systems. This book, Designing Data-Intensive Applications, is an eye-opener for anyone who has ever wondered about the internals of these services. It takes a deep dive into key concepts like consistency, exploring the critical differences between strong and weak consistency, and the trade-offs that come with each approach. For example, when a master node fails, how does a new master get elected? The book explains this process in depth, shedding light on the mechanics of fault tolerance. The book also provides clarity on how databases store and retrieve data efficiently. If you’ve ever come across PostgreSQL’s documentation and wondered, "What exactly is a B-tree?", this book will make it crystal clear.

    It also goes into the common gotchas when working with transactions. You might think that using transactions makes you safe from concurrency issues, but that’s not always the case. The book explains why this happens and offers practical advice on how to avoid race conditions.

    What this book isn’t: If you’re a practitioner building distributed systems from scratch and looking for in-depth explanations of algorithms like Raft, Paxos, or other low-level details, this book might not be what you’re looking for. It serves more as a high-level introduction to distributed systems rather than a deep dive into the specifics of consensus algorithms. For those looking for more detailed, foundational material on distributed systems, I’d recommend checking out Tanenbaum’s Distributed Systems.

    6 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Destined to become a classic
    Reviewed in the United States on September 7, 2017
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    DDIA is easily one of the best tech books of 2017 (possibly this decade) and is destined to become a classic. The book deals with all the stuff that happens around data engineering : storage, models, structures, access patterns, encoding, replication, partitioning, distributed systems, batch & stream processing and the future of data systems (don't expect ML because it is a different beast).

    Kleppman has coherently blended the relevant computer science theory with modern use cases and applications. The focus is primarily on the core principles and thought-processes that one must apply when it comes to building data services. Design concepts don't go out-of-date soon, so the book has very long shelf-life.

    The high-point of this book is the author's lucid prose, which indicates mastery of the subject matter and clarity of thought. Conceptualizing reality is an art and the author really shines here. You’ll find that whenever you have a question after reading a particular sentence, the answer to that will be found in the upcoming sentences. It’s like mind-reading.

    Also kudos to the author for those nice diagrams and interesting maps (and for avoiding mathematical formulas with Greek symbols). The bibliography at the end of each chapter is thorough enough for unending personal research.

    If you are working on or interviewing for big data engineering, systems design, cloud consulting or devops/SRE, then this book is a keeper for a long-long time.

    94 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Insightful and Well-Structured – Best for Readers with Some Background
    Reviewed in the United States on June 3, 2025
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    This book dives deep into its subject with clear structure and thoughtful explanations. The concepts are well-articulated and build on each other logically. However, to truly appreciate the depth and get the most out of it, I recommend reading it with some prior experience or familiarity with the topic. Overall, a highly valuable and rewarding read.

    4 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 4 out of 5 stars
    Must read for architects, managers and senior developers
    Reviewed in the United States on February 18, 2019
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    This is a very well written and practical book covering data intensive application as the title claims. Since "data outlives code", this is a must read for any one in technology leadership roles. The topics of consistency, consensus, reliability are handled very well without going on the tangent of complexity in distributed applications (most data applications are distributed in nature). At times the author and editors did not pay attention to crisp presentation and editing in the later chapters.

    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    An exceptionally good review of the state of the art
    Reviewed in the United States on May 3, 2020
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    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.

    7 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Nice book
    Reviewed in the United States on January 11, 2026
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Start learning :)

    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    A flare on a battlefield
    Reviewed in the United States on May 13, 2021
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Imagine that your coding project is like being stuck on a battlefield at night, trying to cut your way through a maze of barbed wire. The average software book is like a flashlight: it illuminates the immediate problem and helps you figure out how to solve it. This book, in contrast, is like a flare shot high into the air. For a brief few moments, it illuminates the entire battlefield, and you can see your lines behind you, the positions of the enemy trenches and fortifications, and even roads, fields and forest in the distance. You're still going to need the flashlight for getting the job done, but getting perspective is invaluable for figuring out where you are and where you're going.

    If all you want to know is the minimum needed to do your job _today_, you probably won't like this book, because it covers too much territory to teach you the details of how to do any one thing. However if you want to understand how your current objective fits into the bigger landscape (and why), this book is one of the best overviews I've ever read, for any discipline. Kleppmann has a deep knowledge of the fundamentals and he writes in lucid, simple prose so that anyone can understand the concepts. There's a surprising amount of nitty-gritty detail about things like replication and sharding in distributed databases, and once you grasp the concepts, you'll be well-equipped to judge for yourself how any system fits your needs.

    Much of what one reads online about database software has the flavor of commercial advertising or semi-religous feuding among disciples of one system or another. So for me it was a real gift to have Kleppmann explain how technical details distingish data systems from each other, why the system designers made those choices, and what strengths and weaknesses result from them. I highly recommend the book.

    19 people found this helpful
    Sending feedback...
    Thank you for your feedback.
    Sending feedback...
    Thanks, we'll investigate in the next few days.

Top reviews from other countries

    Translated by Amazon
    See original
  • 5 out of 5 stars
    Great in-depth analysis of data architectures
    Reviewed in the United Kingdom on November 17, 2024
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    This book covers pretty much all topics which are relevant to managing databases or designing data models in more than 800 pages. It also provides detailed information about the inner workings of databases to the degree that you might be able to implement your own simple database.

    The book is very well didactically structured which is no surprise given that the author is a professor at Cambridge. For example, it explains batch processing algorithms (e.g. Map Reduce) and uses this as basis to delve into data streaming. Strong emphasis is laid on the problems with regards to distributed computing (replication, partitioning, node failures, etc.) and the discussion of the compromises one must make.

    Overall, an easy recommendation for anyone is interested in data architectures and the inner workings of databases which are the backbone of pretty much any application in today’s world.

    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Uno dei più bei libri tecnici che abbia mai letto
    Reviewed in Italy on June 9, 2022
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Se siete IT appassionati del vostro lavoro e volete capire cosa c'è sotto le cose che usate quotidianamente, questo è un libro da non perdere. Non è un manuale, non è una guida né un tutorial, ma fa fede al sottotitolo: è un "viaggio" nello scibile sulla gestione computerizzata di dati, che aiuta a comprendere al di là del marketing gli strumenti che abbiamo a disposizione.

    Il libro è densissimo (come dimostra un bell'indice analitico di 30 pagine su un totale di quasi 600), ricco di riferimenti (come dimostrano le folte bibliografie al termine di ogni capitolo, per lo più risorse online) ed è evidente il background accademico dell'autore. E' un libro che richiede tempo nella lettura e comprensione - se non si saltano i dettagli, si intende... ma nel caso lasciate perdere.

    Una buona metà del libro riguarda la modifica concorrente di dati e i sistemi distribuiti, la parte più terrificante e affascinante, dove vengono minuziosamente spiegati i problemi che presentano e gli algoritmi che li risolvono (ad esclusione dei problemi "bizantini"). Ho trovato ..."confortante" l'analisi dell'acronimo ACID :)

    Chiude con un'analisi di ciò che l'autore si aspetta per il futuro; molto interessante il concetto di "unbundling" dei database.

    Sending feedback...
    Thanks, we'll investigate in the next few days.
    Translated from Italian by Amazon
    See original
  • 5 out of 5 stars
    Every Technical Book Should Be Like This
    Reviewed in Poland on December 24, 2025
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    One of those rare books where the author has clearly taken the time to deeply understand the subject and now knows how to pass that understanding on to the reader. If a question comes to mind while reading, it will most likely be answered shortly. You’ll also find answers to questions you probably wouldn’t have thought to ask.

    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    Insightful read on data management
    Reviewed in Singapore on January 7, 2026
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    The book provides solid insights into managing data, particularly at scale. It helped clarify concepts I'd been grappling with and offered practical perspectives that go beyond surface-level explanations. Would recommend for anyone looking to deepen their understanding of large-scale data systems.

    Insightful read on data management
    5 out of 5 stars
    Insightful read on data management
    Reviewed in Singapore on January 7, 2026

    The book provides solid insights into managing data, particularly at scale. It helped clarify concepts I'd been grappling with and offered practical perspectives that go beyond surface-level explanations. Would recommend for anyone looking to deepen their understanding of large-scale data systems.

    Sending feedback...
    Thanks, we'll investigate in the next few days.
  • 5 out of 5 stars
    About Book
    Reviewed in Japan on April 12, 2024
    Brief content visible, double tap to read full content.
    Full content visible, double tap to read brief content.

    Recommend book for software Engineers

    Sending feedback...
    Thanks, we'll investigate in the next few days.