TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

You Can’t Sacrifice Partition Tolerance (2010)

43 pointsby xrorreabout 9 years ago

5 comments

kerkeslagerabout 9 years ago
Maybe I&#x27;m missing something, but it seems like this is basically just glossing over this part:<p>&gt; Some systems cannot be partitioned. Single-node systems (e.g., a monolithic Oracle server with no replication) are incapable of experiencing a network partition. But practically speaking these are rare;<p>I&#x27;m not sure how the writer came to the conclusion that these systems are rare. The website I&#x27;m working on now has a single monolithic Postgres server, and the majority of systems I&#x27;ve worked on connected to single monolithic datastores, so at the very least these systems exist. These aren&#x27;t particularly <i>interesting</i> examples, but when talking theoretically like with the CAP theorem, you don&#x27;t get to just ignore the rare or uninteresting cases. These seem like relatively common examples of choosing CA.<p>Of course, when you try to shard such databases, you&#x27;re going to run into serious problems.<p>I guess the claim I can credit to the author is that CA <i>really really really</i> means <i>no partition tolerance</i>. <i>Even one network partition</i> puts you in CP or AP territory. But I don&#x27;t think that means CA stores don&#x27;t exist.<p>It may be that I&#x27;m just not understanding things correctly, though; the CAP paper is definitely a challenging read for me.
评论 #11702138 未加载
评论 #11702111 未加载
评论 #11702687 未加载
评论 #11703932 未加载
aminorexabout 9 years ago
The implication derived from a trivial probability argument is misleading. Failures are correlated, so 1-(1-P)^n is an upper bound, firstly, but secondly and much more importantly, the value being computed is the wrong value. Failure of a node is not partition. To non-trivially partition a cluster of N nodes requires (N-2) failures, when the cluster is fully connected, for example (as e.g. on any bus network). Handling trival partition is, well, trivial, in some important senses.
sciurusabout 9 years ago
It&#x27;s worth keeping in mind that viewing a system as CP or AP usually isn&#x27;t nuanced enough: <a href="https:&#x2F;&#x2F;martin.kleppmann.com&#x2F;2015&#x2F;05&#x2F;11&#x2F;please-stop-calling-databases-cp-or-ap.html" rel="nofollow">https:&#x2F;&#x2F;martin.kleppmann.com&#x2F;2015&#x2F;05&#x2F;11&#x2F;please-stop-calling-...</a>
zarothabout 9 years ago
Liked everything up to this part;<p>&quot;When it comes to designing or evaluating distributed systems, then, I think we should focus less on which two of the three Virtues we like most and more on what compromises a system makes as things go bad.&quot;<p>It seemed like the entire point was that really there are only 2 Virtues (Consistency, Availability) and given a partition you will chose one or the other. The only database that doesn&#x27;t have network partitions also isn&#x27;t distributed.
评论 #11702669 未加载
评论 #11703863 未加载
throwaway_exerabout 9 years ago
The original CAP paper was intended as a high-level discussion item for students. Brewer has since emphasized that it is more of an academic approach than applicable to real-world distributed databases.<p>Other computer scientists have either modified or narrowed it to be more useful.<p>So it&#x27;s fun to read the original CAP paper, but it&#x27;s less useful than you would expect. When somebody asks me about CP vs. CA, I realize they in fact don&#x27;t anything at all about distributed databases.