This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
CAP Twelve Years Later: How the "Rules" Have Changed
Feb. 2012 (vol. 45 no. 2)
pp. 23-29
Eric Brewer, University of California, Berkeley
The CAP theorem asserts that any networked shared-data system can have only two of three desirable properties. However, by explicitly handling partitions, designers can optimize consistency and availability, thereby achieving some trade-off of all three. The featured Web extra is a podcast from Software Engineering Radio, in which the host interviews Dwight Merriman about the emerging NoSQL movement, the three types of nonrelational data stores, Brewer's CAP theorem, and much more.

1. E. Brewer, "Lessons from Giant-Scale Services," IEEE Internet Computing, July/Aug. 2001, pp. 46-55.
2. A. Fox et al., "Cluster-Based Scalable Network Services," Proc. 16th ACM Symp. Operating Systems Principles (SOSP 97), ACM, 1997, pp. 78-91.
3. A. Fox and E.A. Brewer, "Harvest, Yield and Scalable Tolerant Systems," Proc. 7th Workshop Hot Topics in Operating Systems (HotOS 99), IEEE CS, 1999, pp. 174-178.
4. E. Brewer, "Towards Robust Distributed Systems," Proc. 19th Ann. ACM Symp.Principles of Distributed Com-puting (PODC 00), ACM, 2000, pp. 7-10; www.cs.berkeley.edu/~brewerPODC2000.pdf.
5. B. Cooper et al., "PNUTS: Yahoo!'s Hosted Data Serving Platform," Proc. VLDB Endowment (VLDB 08), ACM, 2008, pp. 1277-1288.
6. J. Sobel, "Scaling Out," Facebook Engineering Notes,20 Aug. 2008; www.facebook.comnote.php?note_id=23844338919&id=9445547199.
7. W. K. Edwards et al., "Designing and Implementing Asynchronous Collaborative Applications with Bayou," Proc. 10th Ann. ACM Symp. User Interface Software and Technology (UIST 97), ACM, 1999, pp. 119-128.
8. P. Mahajan, L. Alvisi, and M. Dahlin, Consistency, Availability, and Convergence, tech. report UTCS TR-11-22, Univ. of Texas at Austin, 2011.
9. D.B. Terry et al., "Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System," Proc. 15th ACM Symp. Operating Systems Principles (SOSP 95), ACM, 1995, pp. 172-182.
10. B. Du and E.A. Brewer, "DTWiki: A Disconnection and Intermittency Tolerant Wiki," Proc. 17th Int'l Conf. World Wide Web (WWW 08), ACM, 2008, pp. 945-952.
11. "What's Different about the New Google Docs: Conflict Resolution," blog; http://googledocs.blogspot.com/2010/09whats-different-about-new-google-docs_22.html .
12. M. Shapiro et al., "Conflict-Free Replicated Data Types," Proc. 13th Int'l Conf. Stabilization, Safety, and Security of Distributed Systems (SSS 11), ACM, 2011, pp. 386-400.
13. M. Shapiro et al., "Convergent and Commutative Replicated Data Types," Bulletin of the EATCS, no. 104, June 2011, pp. 67-88.
14. G. DeCandia et al., "Dynamo: Amazon's Highly Available Key-Value Store," Proc. 21st ACM SIGOPS Symp. Operating Systems Principles (SOSP 07), ACM, 2007, pp. 205-220.
15. H. Garcia-Molina and K. Salem, "SAGAS," Proc. ACM SIGMOD Int'l Conf. Management of Data (SIGMOD 87), ACM, 1987, pp. 249-259.
16. H. Korth, E. Levy, and A. Silberschatz, "A Formal Approach to Recovery by Compensating Transactions," Proc. VLDB Endowment (VLDB 90), ACM, 1990, pp. 95-106.
1. J. Kistler and M. Satyanarayanan, "Disconnected Operation in the Coda File System" ACM Trans. Computer Systems, Feb. 1992, pp. 3-25.
2. K. Birman, Q. Huang, and D. Freedman, "Overcoming the 'D' in CAP: Using Isis2 to Build Locally Responsive Cloud Services," Computer, Feb. 2011, pp. 50-58.
3. M. Burrows, "The Chubby Lock Service for Loosely-Coupled Distributed Systems," Proc. Symp. Operating Systems Design and Implementation (OSDI 06), Usenix, 2006, pp. 335-350.
4. J. Baker et al., "Megastore: Providing Scalable, Highly Available Storage for Interactive Services," Proc. 5th Biennial Conf. Innovative Data Systems Research (CIDR 11), ACM, 2011, pp. 223-234.
5. D. Abadi, "Problems with CAP, and Yahoo's Little Known NoSQL System," DBMS Musings, blog, 23 Apr. 2010; http://dbmsmusings.blogspot.com/2010/04problems-with-cap-and-yahoos-little.html.
6. C. Hale, "You Can't Sacrifice Partition Tolerance,"7 Oct. 2010; http://codahale.comyou-cant-sacrifice-partition-tolerance.

Index Terms:
CAP theorem, ACID, BASE, cloud computing
Citation:
Eric Brewer, "CAP Twelve Years Later: How the "Rules" Have Changed," Computer, vol. 45, no. 2, pp. 23-29, Feb. 2012, doi:10.1109/MC.2012.37
Usage of this product signifies your acceptance of the Terms of Use.