# Designing Data-Intensive Applications

## Metadata
- Author: [[Martin Kleppmann]]
- Full Title: Designing Data-Intensive Applications
- Category: #books
- Source: kindle
- Last Highlighted: 2020-05-01 04:56:00+00:00
## Highlights
- We call an application data-intensive if data is its primary challenge—the quantity of data, the complexity of data, or the speed at which it is changing—as opposed to compute-intensive, where CPU cycles are the bottleneck. ([Location 58](https://readwise.io/to_kindle?action=open&asin=B06XPJML5D&location=58))
- 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. ([Location 280](https://readwise.io/to_kindle?action=open&asin=B06XPJML5D&location=280))
- “continuing to work correctly, even when things go wrong.” ([Location 284](https://readwise.io/to_kindle?action=open&asin=B06XPJML5D&location=284))
- A fault is usually defined as one component of the system deviating from its spec, whereas a failure is when the system as a whole stops providing the required service to the user. It is impossible to reduce the probability of a fault to zero; therefore it is usually best to design fault-tolerance mechanisms that prevent faults from causing failures. ([Location 294](https://readwise.io/to_kindle?action=open&asin=B06XPJML5D&location=294))
- Our first response is usually to add redundancy to the individual hardware components in order to reduce the failure rate of the system. ([Location 321](https://readwise.io/to_kindle?action=open&asin=B06XPJML5D&location=321))
- For example, one study of large internet services found that configuration errors by operators were the leading cause of outages, whereas hardware faults (servers or network) played a role in only 10–25% of outages [ ([Location 379](https://readwise.io/to_kindle?action=open&asin=B06XPJML5D&location=379))