5 ms·
Is availability sacrificed more often than the other two?
by ljsprague 2y ago
Is availability sacrificed more often than the other two?
- wmf 2y agoProperties are only sacrificed during partitions. Due to Murphy's Law, if you assume partitions never happen they will happen more often but if you can tolerate partitions they happen really rarely.
- anderskaseorg 2y agoThere are plenty of systems that sacrifice consistency even while the network is fully connected, in the name of performance—for example, DNS, or any system with a caching proxy server.
- wmf 2y agoYeah, CAP is about the best possible behavior a system can have but you can always do worse.
- shepherdjerred 2y agoThat is not true with PACELC https://en.wikipedia.org/wiki/PACELC_theorem https://en.wikipedia.org/wiki/PACELC_theorem
- shepherdjerred 2y agoTo clarify I’m not saying PACELC invalidates PAC, just that it expands to consider the case where there isn’t a partition.
- Groxx 2y agoNot really. Both are all over because they address vastly different (literally incompatible) needs. There is a fair bit of industry hype in the past decade or so around eventually consistent systems, because a lot of components of a business can use them, and that opens up a lot of extremely desirable performance options that can be fine tuned to the moon. But they're a real nightmare to use (i.e. often literally impossible) for anything that needs to be correct, so they are often just used in addition to the more classical consistency-oriented databases like postgres.
- shepherdjerred 2y agoIt depends purely on the application you're writing. Many applications prefer availability over consistency, but the application is built to cope with inconsistent data.
- anonymousDan 2y agoThe only way to sacrifice P is to have have a single node (i.e. non-replicated) system. So in practice it's a choice between C and P.