5 ms·
You cannot sacrifice partition tolerance. See a much more eloquently argued blog post than I could come up with by the ever excellent Coda Hale: http://codahale
by lemming 15y ago
You cannot sacrifice partition tolerance. See a much more eloquently argued blog post than I could come up with by the ever excellent Coda Hale: http://codahale.com/you-cant-sacrifice-partition-tolerance http://codahale.com/you-cant-sacrifice-partition-tolerance. In fact, re-reading it now I realise it was originally a rebuttal to Stonebraker in a different article.
It's really common sense if you think about it. You cannot ever guarantee that any system with more than one node will not suffer a partition. You need a network between them, and your dog might chew it at any time. When (not if) that happens, what will your AC system do? It will either not be available, or it will not be consistent. It's impossible to have both.
I'd be interested to know what happens in VoltDB if I have two machines in a cluster and I pull the plug between them. Does anyone know?
Edit: more great stuff from the also ever excellent Henry Robinson: http://www.cloudera.com/blog/2010/04/cap-confusion-problems-with-partition-tolerance http://www.cloudera.com/blog/2010/04/cap-confusion-problems-.... Good links at the bottom, too.
Second edit: removed unnecessarily inflammatory first sentence.