RSSAmplifier

Blog

This long run

Distributed systems in theory and in practice.

blog.thislongrun.comRSS feed ↗12 posts

Latest posts

You Do It Too: Forfeiting Network Partition Tolerance in Distributed Systems

“ 64-node clusters ought to be enough for anybody. ” Bill Gates, quoted from memory. This post is part of the CAP theorem series . You may want to start by my post on ACID vs. CAP if you have a database background but have never really been exposed to the CAP theorem. The post discussing some traps in the ‘Availability’ and ‘Consistency’ definition of CAP could also be used as an introduction if…

If CAP were real-time: adding timing requirements to the definition of availability

“ If you are not too long, I will wait here for you all my socketReadTimeout. ” - Oscar Wilde, quoted from memory. This post is part of the CAP theorem series . You may want to start by my post on ACID vs. CAP if you have a database background but have never really been exposed to the CAP theorem. The post discussing some traps in the ‘Availability’ and ‘Consistency’ definition of CAP could also…

CAP: if all you have is a timeout, everything looks like a partition

“ I suppose it is tempting, if the only tool you have is a timeout, to treat everything as if it were a partition. ” - Abraham Maslow, quoted from memory This post is part of the CAP theorem series . You may want to start by my post on ACID vs. CAP if you have a database background but have never really been exposed to the CAP theorem. The post discussing some traps in the ‘Availability’ and…

Eventual Consistency and Durability

“A son can bear with equanimity the loss of his father, but the loss of his data may drive him to despair.” (Machiavelli, quoted from memory) While traditional databases are ACID , with the ‘D’ meaning Durability, the NoSQL databases are mainly described by their memory model, i.e. Strong Consistency vs. Eventual Consistency. We're going to see that durability is not something you can forget about…

The Consistency Series

“Those are my consistency models, and if you don't like them... well, I have others.” - Groucho Marx, quoted from memory The CAP theorem series is coming to an end. I have a few posts planned, but they will be mainly about wrapping things-up-- I hope these posts will be great, though. Anyway, here starts a new series: the consistency series. This series is about getting into some practical details…

CAP, Availability, High-Availability and Big Data databases in a world of partitions

“Those who would give up Consistency, to purchase a little temporary Availability, deserve neither Consistency nor Availability.” (B. Franklin, quoted from memory) This post is part of the CAP theorem series . You may want to start by my post on ACID vs. CAP if you have a database background but have never really been exposed to the CAP theorem. The post discussing some traps in the ‘Availability’…

The unclear CP vs. CA case in CAP

This post is part of the CAP theorem series . You may want to start by my post on ACID vs. CAP if you have a database background but have never really been exposed to the CAP theorem. The post discussing some traps in the ‘Availability’ and ‘Consistency’ definition of CAP should also be used as an introduction if you know CAP but haven’t looked at its formal definition. CAP is a theorem, but it is…

The confusing CAP and ACID wording

CAP and ACID share a common vocabulary: Atomic, Consistent, and so on. But there is a catch: the words are the same but they mean totally different things. CAP comes from the distributed systems theory, while ACID belongs to database systems one.The Distributed Databases use both CAP and ACID vocabulary, so this obviously creates a lot of confusion. When someone says: “ one should not give up…

Don't use the CAP theorem for packet losses

In the previous post, we looked at this common saying: “ nodes fail, network packets get lost, partitions happen so you need to use CAP to understand your trade-offs. ” W e saw that node failures were not partitions. What about packet losses? Most distributed applications use TCP or UDP on top of IP, and it is well known that IP is an asynchronous protocol and that it can lose packets. So should…

Don't use the CAP theorem for node failures

"Dead nodes don't bite." - Robert Louis Stevenson (quoted from memory) CAP is often described as a theorem you cannot avoid using. A common saying is “nodes fail, network packets get lost, partitions arise so you need to use CAP to choose the trade-offs.” Actually, the CAP scope is not that wide. Let’s look at why a process crash or a node failure are not partitions in CAP. CAP - the usual…

Comparing Eventually Consistent and CP-as-in-CAP stores

Eventual Consistency (EC) is a well known concept. The CAP theorem, which defines Consistency, Availability and Partition tolerance is also well known. It describes some distributed systems such as CP, which has two properties: Consistency and Partition tolerance. If we look at data stores just by how they stick to the definition of their consistency model and compare their speeds, which one would…

The CAP theorem series

Let me introduce a new series of posts on the CAP theorem. CAP is a well known theorem conjectured and proven by recognized researchers in distributed systems, namely Eric Brewer, Seth Gilbert and Nancy Lynch. It is also widely used to categorize distributed applications. With CAP, do computer scientists actually have a better classification tool than biologists? Why you want to read this series…