Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Select Page

Distributed Systems for Fun and Profit

Distributed Systems for Fun and Profit

The author wanted a text that would bring together the ideas behind many of the more recent distributed systems – systems such as Amazon’s Dynamo, Google’s BigTable and MapReduce, Apache’s Hadoop and so on.

In this text he has tried to provide a more accessible introduction to distributed systems. To him, that means two things: introducing the key concepts that you will need in order to have a good time reading more serious texts, and providing a narrative that covers things in enough detail that you get a gist of what’s going on without getting stuck on details. Beyond 2013, you’ve got the Internet, and you can selectively read more about the topics you find most interesting.

In his view, much of distributed programming is about dealing with the implications of two consequences of distribution:

  • that information travels at the speed of light
  • that independent things fail independently

In other words, that the core of distributed programming is dealing with distance (duh!) and having more than one thing (duh!). These constraints define a space of possible system designs, and his hope is that after reading this you’ll have a better sense of how distance, time and consistency models interact.

This text is focused on distributed programming and systems concepts you’ll need to understand commercial systems in the data center. It would be madness to attempt to cover everything. You’ll learn many key protocols and algorithms (covering, for example, many of the most cited papers in the discipline), including some new exciting ways to look at eventual consistency that haven’t still made it into college textbooks – such as CRDTs and the CALM theorem.

  • The first chapter covers distributed systems at a high level by introducing a number of important terms and concepts.
  • The second chapter dives deeper into abstractions and impossibility results.
  • The third chapter discusses time and order, and clocks as well as the various uses of time, order and clocks (such as vector clocks and failure detectors).
  • The fourth chapter introduces the replication problem, and the two basic ways in which it can be performed.
  • The fifth chapter discussed replication with weak consistency guarantees.
  • The appendix covers recommendations for further reading.

Distributed Systems for Fun and Profit

by Mikito Takada (MOBI, PDF, EPUB, HTML, Online reading) – 5 chapters

Distributed Systems for Fun and Profit by Mikito Takada