Goodreads helps you follow your favorite authors. Be the first to learn about new releases!
Start by following Martin Kleppmann.
Showing 1-30 of 154
“In distributed systems, suspicion, pessimism, and paranoia pay off.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“The moral of the story is that a NoSQL system may find itself accidentally reinventing SQL, albeit in disguise.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“Technology is a powerful force in our society. Data, software, and communication can be used for bad: to entrench unfair power structures, to undermine human rights, and to protect vested interests. But they can also be used for good: to make underrepresented people’s voices heard, to create opportunities for everyone, and to avert disasters. This book is dedicated to everyone working toward the good.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“A database is just a tool: how you use it is up to you.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“If we want the future to be better than the past, moral imagination is required, and that’s something only humans can provide [87]. Data and models should be our tools, not our masters.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“Pop culture is all about identity and feeling like you’re participating. It has nothing to do with cooperation, the past or the future — it’s living in the present. I think the same is true of most people who write code for money.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“The need for data integration often only becomes apparent if you zoom out and consider the dataflows across an entire organization.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“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.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“To Schema on Read or to Schema on Write, That Is the Hadoop Data Lake Question”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“The Google File System”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd: “The PageRank Citation Ranking: Bringing Order to the Web,” Stanford InfoLab Technical Report 422, 1999.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“Martin Kleppmann: “Rethinking Caching in Web Apps,”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“it is poor civic hygiene to install technologies that could someday facilitate a police state”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“The fastest and most reliable network request is no network request at all!”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“Eric Evans: “Rethinking Topology in Cassandra,” at ApacheCon Europe, November 2012.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“This observation is sometimes summed up as data outlives code.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“Hey I just met you
The network’s laggy
But here’s my data
So store it maybe —Kyle Kingsbury, Carly Rae Jepsen and the Perils of Network Partitions (2013)”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
The network’s laggy
But here’s my data
So store it maybe —Kyle Kingsbury, Carly Rae Jepsen and the Perils of Network Partitions (2013)”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“Operational transformation [42] is the conflict resolution algorithm behind collaborative editing applications such as Etherpad [30] and Google Docs [31]. It was designed particularly for concurrent editing of an ordered list of items, such as the list of characters that constitute a text document.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“In countries that respect human rights, the criminal justice system presumes innocence until proven guilty; on the other hand, automated systems can systematically and arbitrarily exclude a person from participating in society without any proof of guilt, and with little chance of appeal.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“For example, consider the leap second on June 30, 2012, that caused many applications to hang simultaneously due to a bug in the Linux kernel”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“ Consensus is one of the most important and fundamental problems in distributed computing. On the surface, it seems simple: informally, the goal is simply to get several nodes to agree on something.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“in situations with high message throughput, where each message is fast to process and where message ordering is important, the log-based approach works very well.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“This is a deliberate choice in the design of computers: if an internal fault occurs, we prefer a computer to crash completely rather than returning a wrong result, because wrong results are difficult and confusing to deal with. Thus, computers hide the fuzzy physical reality on which they are implemented and present an idealized system model that operates with mathematical perfection.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“The limits of my language mean the limits of my world. —Ludwig Wittgenstein, Tractatus Logico-Philosophicus (1922)”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“In an early-stage startup or an unproven product it’s usually more important to be able to iterate quickly on product features than it is to scale to some hypothetical future load.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“And this is why MapReduce is designed to tolerate frequent unexpected task termination: it’s not because the hardware is particularly unreliable, it’s because the freedom to arbitrarily terminate processes enables better resource utilization in a computing cluster.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“It would be unwise to assume that faults are rare and simply hope for the best. It is important to consider a wide range of possible faults—even fairly unlikely ones—and to artificially create such situations in your testing environment to see what happens. In distributed systems, suspicion, pessimism, and paranoia pay off.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“Everybody has an intuitive idea of what it means for something to be reliable or unreliable. For software, typical expectations include: The application performs the function that the user expected. It can tolerate the user making mistakes or using the software in unexpected ways. Its performance is good enough for the required use case, under the expected load and data volume. The system prevents any unauthorized access and abuse.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
“If you want to guarantee that there will be no editing conflicts, the application must obtain a lock on the document before a user can edit it. If another user wants to edit the same document, they first have to wait until the first user has committed their changes and released the lock. This collaboration model is equivalent to single-leader replication with transactions on the leader.”
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
― Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems





