Questions tagged [cap-theorem]

Consistency Availability Partitioning theorem by Eric Brewer

Consistency Availability Partitioning theorem by Eric Brewer that essentially posits that a distributed system can only handle one of two: Consistency, Availability or Partitioning (e.g. CA or CP, or AP). In reality there are only two permutations: CA and CP.

http://en.wikipedia.org/wiki/CAP_theorem

72 questions
157
votes
8 answers

Where does mongodb stand in the CAP theorem?

Everywhere I look, I see that MongoDB is CP. But when I dig in I see it is eventually consistent. Is it CP when you use safe=true? If so, does that mean that when I write with safe=true, all replicas will be updated before getting the result?
Gluz
  • 3,154
  • 5
  • 24
  • 35
62
votes
4 answers

Why isn't RDBMS Partition Tolerant in CAP Theorem and why is it Available?

Two points I don’t understand about RDBMS being CA in CAP Theorem : 1) It says RDBMS is not Partition Tolerant but how is RDBMS any less Partition Tolerant than other technologies like MongoDB or Cassandra? Is there a RDBMS setup where we give up CA…
Glide
  • 20,235
  • 26
  • 86
  • 135
42
votes
1 answer

Why HBase is a better choice than Cassandra with Hadoop?

Why is using HBase a better choice than using Cassandra with Hadoop? Can anyone please give a detailed explanation on this? Thanks
Niladri Biswas
  • 4,153
  • 2
  • 17
  • 24
22
votes
3 answers

Is ZooKeeper always consistent in terms of CAP theorem?

Is that correct that ZooKeeper is always CP (in terms of CAP theorem)? Or is there anyway to use it as AP for service discovery needs?
21
votes
3 answers

Why are RDBMS considered Available (CA) for CAP Theorem

If I understand the CAP Theorem correctly, availability means that the cluster continues to operate even if a node goes down. I've seen a lot of people (http://blog.nahurst.com/tag/guide) list RDBMS as CA, but I do not understand how RBDMS is…
PiedPiper
  • 243
  • 3
  • 7
21
votes
3 answers

Which part of the CAP theorem does Cassandra sacrifice and why?

There is a great talk here about simulating partition issues in Cassandra with Kingsby's Jesper library. My question is - with Cassandra are you mainly concerned with the Partitioning part of the CAP theorem, or is Consistency a factor you need to…
hawkeye
  • 34,745
  • 30
  • 150
  • 304
17
votes
3 answers

How CA distributed system according to Cap Theorem can exist

How can a distributed system be consistent and available (CA)? Because I would argue when a network partition occurs, CA cannot be possible in a way where every node of the network, even the partioned nodes that users are connected to, continue to…
pvjhs
  • 549
  • 1
  • 9
  • 24
11
votes
2 answers

How would you program a strong read-after-write consistency in a distributed system?

Recently, S3 announces strong read-after-write consistency. I'm curious as to how one can program that. Doesn't it violate the CAP theorem? In my mind, the simplest way is to wait for the replication to happen and then return, but that would result…
oky_sabeni
  • 7,672
  • 15
  • 65
  • 89
11
votes
1 answer

DynamoDB: Conditional writes vs. the CAP theorem

Using DynamoDB, two independent clients trying to write to the same item at the same time, using conditional writes, and trying to change the value that the condition is referencing. Obviously, one of these writes is doomed to fail with the…
fluffysheap
  • 769
  • 5
  • 14
10
votes
1 answer

Where is Apache Kafka placed in the PACELC-Theorem

I am starting to learn about Apache Kafka. This https://engineering.linkedin.com/kafka/intra-cluster-replication-apache-kafka article states that Kafka is a CA system inside the CAP-Theorem. So it focuses on consistency between replicas and also on…
Nbert.
  • 143
  • 2
  • 9
8
votes
0 answers

What principles of CAP theorem does Elasticsearch follow?

I have a question on Elasticsearch. With respect to CAP theorem what does Elasticsearch follow out of the three? Some say its CA while some say its AP. Does it depend? I was also reading up on this article -…
sharat
  • 160
  • 3
  • 10
8
votes
1 answer

Is it possible to combine REST and messaging for microservices?

We have the first version of an application based on a microservice architecture. We used REST for external and internal communication. Now we want to switch to AP from CP (CAP theorem)* and use a message bus for communication between…
7
votes
2 answers

How is ETCD a highly available system, even though it uses Raft which is a CP algorithm?

This is from Kubernetes documentation: Consistent and highly-available key value store used as Kubernetes' backing store for all cluster data. Does Kubernetes have a separate mechanism internally to make ETCD more available? or does ETCD use,…
6
votes
3 answers

Elasticsearch and CAP Theorem

Elasticsearch is a distributed system. As per the CAP theorem, it can satisfy any 2 out of 3 properties. Which one is compromised in Elasticsearch?
DhakarSab
  • 63
  • 1
  • 4
5
votes
2 answers

How does the CAP Theorem apply on HDFS?

I just started reading about Hadoop and came across the CAP Theorem. Can you please throw some light on which two components of CAP would be applicable to a HDFS system?
Pallav Doshi
  • 209
  • 2
  • 9
1
2 3 4 5