TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Dynamo - Part I: a followup and re-rebuttals

9 点作者 ypavan超过 15 年前

1 comment

jbellis超过 15 年前
My comment from the blog (currently "awaiting moderation") --<p>The core misunderstanding here is that Hinted Handoff does NOT mean “ignore W.” If it did, clearly R + W &#62; N would mean nothing; in fact, W would be entirely superfluous. So to the degree that the Dynamo paper suggests otherwise, it should be treated as a “bug” in the paper.<p>So, just to treat your first example, with W=3,R=1 you can’t get inconsistent reads since writes will block if any replica is unavailable.<p>All quorum-based systems that I know of treat R + W like this. For Cassandra, see the code from StorageProxy.insertBlocking, specifically the calls to getNaturalEndpoints, getHintedEndpointMap, and getUnhintedNodes (and QuorumResponseHandler of course). Cassandra is careful to only hint N - W replicas as I’ve been discussing.<p>Everything else you object to basically falls out of this. For example, “there is no way in Dynamo to track how many pending updates have not been reflected globally” — which doesn’t matter, since either you are waiting for R + W &#62; N, in which case you get consistency, or you are not, in which case you can’t complain if you don’t get it. :)