A certain freedom: thoughts on the CAP theorem

E. Brewer
{"title":"A certain freedom: thoughts on the CAP theorem","authors":"E. Brewer","doi":"10.1145/1835698.1835701","DOIUrl":null,"url":null,"abstract":"At PODC 2000, the CAP theorem received its first broad audience. Surprisingly for an impossibility result, one important effect has been to free designers to explore a wider range of distributed systems. Designers of wide-area systems, in which network partitions are considered inevitable, know they cannot have both availability and consistency, and thus can now justify weaker consistency. The rise of the \"NoSQL\" movement (\"Not Only SQL\") is an expression of this freedom. The choices of how and when to weaken consistency are often the defining characteristics of these systems, with new variations appearing every year. We review a variety of interesting places in the \"CAP Space\" as a way to illuminate these issues and their consequences. For example, automatic teller machines (ATMs), which predate the CAP theorem, surprisingly choose availability with weak consistency but with bounded risk. Finally, I explore a few of the options to try to \"work around\" the impossible. The most basic is the use of commutative operations, which make it easy to restore consistency after a partition heals. However, even many commutative operations have non-commutative exceptions in practice, which means that the exceptions may be incorrect or late. Adding the concept of \"delayed exceptions\" allows more operations to be considered commutative and simplifies eventual consistency during a partition. Furthermore, we can think of delayed exception handling as \"compensation\" - we execute a compensating transaction that restores consistency. Delayed exception handling with compensation appears to be what most real wide-area systems do - inconsistency due to limited communication is treated as an exception and some exceptional action, such as monetary compensation or even legal action, is used to fix it. This approach to wide-area systems puts the emphasis on audit trails and recovery rather than prevention, and implies that we should expand and formalize the role of compensation in the design of complex systems","PeriodicalId":447863,"journal":{"name":"Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing","volume":"54 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-07-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"90","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1835698.1835701","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 90

Abstract

At PODC 2000, the CAP theorem received its first broad audience. Surprisingly for an impossibility result, one important effect has been to free designers to explore a wider range of distributed systems. Designers of wide-area systems, in which network partitions are considered inevitable, know they cannot have both availability and consistency, and thus can now justify weaker consistency. The rise of the "NoSQL" movement ("Not Only SQL") is an expression of this freedom. The choices of how and when to weaken consistency are often the defining characteristics of these systems, with new variations appearing every year. We review a variety of interesting places in the "CAP Space" as a way to illuminate these issues and their consequences. For example, automatic teller machines (ATMs), which predate the CAP theorem, surprisingly choose availability with weak consistency but with bounded risk. Finally, I explore a few of the options to try to "work around" the impossible. The most basic is the use of commutative operations, which make it easy to restore consistency after a partition heals. However, even many commutative operations have non-commutative exceptions in practice, which means that the exceptions may be incorrect or late. Adding the concept of "delayed exceptions" allows more operations to be considered commutative and simplifies eventual consistency during a partition. Furthermore, we can think of delayed exception handling as "compensation" - we execute a compensating transaction that restores consistency. Delayed exception handling with compensation appears to be what most real wide-area systems do - inconsistency due to limited communication is treated as an exception and some exceptional action, such as monetary compensation or even legal action, is used to fix it. This approach to wide-area systems puts the emphasis on audit trails and recovery rather than prevention, and implies that we should expand and formalize the role of compensation in the design of complex systems
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
一定的自由:关于CAP定理的思考
在PODC 2000上,CAP定理得到了第一批广泛的听众。令人惊讶的是,一个不可能的结果,一个重要的影响是自由的设计师去探索更广泛的分布式系统。广域系统的设计者(其中网络分区被认为是不可避免的)知道它们不可能同时具有可用性和一致性,因此现在可以证明较弱的一致性是合理的。“NoSQL”运动(“不仅仅是SQL”)的兴起就是这种自由的表现。如何以及何时削弱一致性的选择通常是这些系统的决定性特征,每年都会出现新的变化。我们回顾了“CAP空间”中各种有趣的地方,以此来阐明这些问题及其后果。例如,早于CAP定理的自动取款机(atm)出人意料地选择了具有弱一致性但风险有限的可用性。最后,我探索了一些尝试“解决”不可能的选择。最基本的是使用交换操作,这使得在分区修复后恢复一致性变得容易。然而,即使许多交换操作在实践中也有非交换异常,这意味着异常可能是不正确的或延迟的。添加“延迟异常”的概念允许更多操作被认为是可交换的,并简化分区期间的最终一致性。此外,我们可以将延迟异常处理视为“补偿”——我们执行一个恢复一致性的补偿事务。带补偿的延迟异常处理似乎是大多数实际广域系统所做的事情——由于通信有限而导致的不一致被视为异常,并且使用一些异常操作(例如货币补偿甚至法律操作)来修复它。这种广域系统的方法强调审计跟踪和恢复,而不是预防,这意味着我们应该在复杂系统的设计中扩大和正式确定补偿的作用
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Brief announcement: towards robust medium access in multi-hop networks Brief announcement: capacity of byzantine agreement with finite link capacity - complete characterization of four-node networks Brief announcement: locally-accessible implementations for distributed shared memory multiprocessors Brief announcement: sources of instability in data center multicast Bayesian ignorance
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1