4 ms·
Having never seen this theorem before, it seems so trivial that it's completely useless. If you have no guarantee of having connected systems, then of course yo
by vortico 8y ago
Having never seen this theorem before, it seems so trivial that it's completely useless. If you have no guarantee of having connected systems, then of course you can't always have consistency between them if they're required to answer all requests. Am I missing something here? What are the applications of this idea, beyond assigning a name to a triviality?
- mping 8y agoThe immediate application of it is that when you choose a DB, you should be able to tell if it's either CP or AP. The field is full of subtleties (eg Network is not 100% reliable so no system should be CA - it's way subtler but that is the gist of it. I'm no expert btw). Lots of DB vendors have tried to circumvent the therorem by introducing their own concepts or stretching the definitions. "We can beat the CAP theorem"
- amelius 8y agoIt would be nice to have an overview of existing/possible workarounds.
- busterarm 8y agoThe point is that eventually it's found out that there aren't any. They're all snake oil. Usually companies find this out the hard way, with catastrophic loss of business data.
- pdpi 8y agois CA even possible in a distributed system though? I mean, it’s not like “the network never fails” is a design decision you’re allowed to make (short of removing the network altogether and therefore not being a distributed system at all)
- lucio 8y agoThat's what Google spanner is claiming, that Spanner is Consistent and highly-Available (nine fives, or 99.99999% of the time available), which "in practice" they say is "CA".
- teraflop 8y agoFrom the perspective of the CAP theorem, Spanner is unquestionably a CP system, as the original paper [1] makes clear. (It relies on Paxos to elect leaders, and Paxos chooses consistency over availability.) The "CA in practice" claims are purely marketing. [1]: https://storage.googleapis.com/pub-tools-public-publication-data/pdf/39966.pdf https://storage.googleapis.com/pub-tools-public-publication-...
- lucio 8y agoWhat about partial partitions, let's say you have 7 nodes, and 4 of them can't see the other 3, while the client can see all of them? There are systems tolerant to these partitions (see PAXOS)
- vladf 8y agoYour definition of tolerant is incompatible with availability from CAP. The Paxos 3/7 minority in your example can't make progress when partitioned from the other 4 machines.