bookmate game
Martin Kleppmann

Designing Data-Intensive Applications

Notify me when the book’s added
To read this book, upload an EPUB or FB2 file to Bookmate. How do I upload a book?
9781491903117
This book is currently unavailable
1,061 printed pages
Have you already read it? How did you like it?
👍👎

Impressions

  • Dauren Chapaevshared an impression6 years ago
    👍Worth reading

Quotes

  • esandrewhas quoted4 years ago
    However, the downside of approach 2 is that posting a tweet now requires a lot of extra work. On average, a tweet is delivered to about 75 followers, so 4.6k tweets per second become 345k writes per second to the home timeline caches. But this average hides the fact that the number of followers per user varies wildly, and some users have over 30 million followers. This means that a single tweet may result in over 30 million writes to home timelines! Doing this in a timely manner—Twitter tries to deliver tweets to followers within five seconds—is a significant challenge. In the example of Twitter, the distribution of followers per user (maybe weighted by how often those users tweet) is a key load parameter for discussing scalability, since it determines the fan-out load. Your application may have very different characteristics, but you can apply similar principles to reasoning about its load.
  • Hyeonsoo Shinhas quoted2 months ago
    One of the best tools we have for removing accidental complexity is abstraction. A good abstraction can hide a great deal of implementation detail behind a clean, simple-to-understand façade. A good abstraction can also be used for a wide range of different applications. Not only is this reuse more efficient than reimplementing a similar thing multiple times, but it also leads to higher-quality software, as quality improvements in the abstracted component benefit all applications that use it
  • Hyeonsoo Shinhas quoted2 months ago
    Operability
    Make it easy for operations teams to keep the system running smoothly.
    Simplicity
    Make it easy for new engineers to understand the system, by removing as much complexity as possible from the system. (Note this is not the same as simplicity of the user interface.)
    Evolvability
    Make it easy for engineers to make changes to the system in the future, adapting it for unanticipated use cases as requirements change. Also known as extensibility, modifiability, or plasticity.

On the bookshelves

fb2epub
Drag & drop your files (not more than 5 at once)