COPS: Consistency-based Service Oriented Programming Support
📜 Abstract
The CAP theorem asserts that any networked shared-data system can have at most two of three desirable properties: consistency, availability, and partition tolerance. While the theorem forced designers of Internet services to relinquish consistency guarantees, most have consequently adopted fairly weak consistency models that lead to incorrect program behavior. In this paper, we argue that programmers would benefit from a platform providing flexible tradeoffs between consistency and availability. We propose a new data store, COPS (Consistency-based Outage Programming Support), that achieves this goal in a way that is simple to program against and easy to manage operationally, yet sufficiently performant for building highly scalable systems.
✨ Summary
This paper, presented in 2011, introduces COPS, a data store that addresses consistency-flexibility trade-offs in programming platforms for distributed systems. The authors argue against the conventional practice of compromising consistency for availability, as suggested by the CAP theorem, proposing instead a system that attempts to balance these aspects. COPS is proposed as a viable solution that can maintain performance while ensuring consistency, making it particularly suitable for developers working with highly scalable systems.
As of now, the paper has been cited in various scholarly articles and reports on distributed systems and cloud computing strategies. For instance, the paper was referenced in a 2013 study on trade-offs in building distributed databases (source). Additionally, it has been cited in research focused on enhancing the performance of distributed transactions (source). However, outside of academic circles, specific industry applications of COPS as a standalone system remain scarce, though the concepts could have indirectly influenced modern distributed data storage solutions.