ABSTRACT
Designers of a replicated database face a vexing choice between strong consistency, which ensures certain application invariants but is slow and fragile, and asynchronous replication, which is highly available and responsive, but exposes the programmer to unfamiliar behaviours. To bypass this conundrum, recent research has studied hybrid consistency models, in which updates are asynchronous by default, but synchronisation is available upon request. To help programmers exploit hybrid consistency, we propose the first static analysis tool for proving integrity invariants of applications using databases with hybrid consistency models. This allows a programmer to find minimal consistency guarantees sufficient for application correctness.
- D. Abadi. Consistency tradeoffs in modern distributed database system design: CAP is only part of the story. IEEE Computer, 45(2), 2012. Google ScholarDigital Library
- Amazon. Supported operations in DynamoDB. http://docs.aws.amazon.com/amazondynamodb/latest/\developerguide/APISummary.html, 2015.Google Scholar
- V. Balegas, N. Preguiça, R. Rodrigues, S. Duarte, C. Ferreira, M. Najafzadeh, and M. Shapiro. Putting consistency back into eventual consistency. In Euro. Conf. on Comp. Sys. (EuroSys), pages 6:1--6:16, Bordeaux, France, Apr. 2015. Google ScholarDigital Library
- Basho Inc. Using strong consistency in Riak. http://docs.basho.com/riak/latest/dev/advanced/strong-consistency/, 2015.Google Scholar
- P. Bernstein, V. Radzilacos, and V. Hadzilacos. Concurrency Control and Recovery in Database Systems. Addison Wesley Publishing Company, 1987. Google ScholarDigital Library
- J. C. Corbett, J. Dean, M. Epstein, A. Fikes, C. Frost, J. Furman, S. Ghemawat, A. Gubarev, C. Heiser, P. Hochschild, W. Hsieh, S. Kanthak, E. Kogan, H. Li, A. Lloyd, S. Melnik, D. Mwaura, D. Nagle, S. Quinlan, R. Rao, L. Rolig, Y. Saito, M. Szymaniak, C. Taylor, R. Wang, and D. Woodford. Spanner: Google's globally-distributed database. In Symp. on Op. Sys. Design and Implementation (OSDI), pages 251--264, Hollywood, CA, USA, Oct. 2012. Usenix. Google ScholarDigital Library
- S. Gilbert and N. Lynch. Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News, 33(2):51--59, 2002. Google ScholarDigital Library
- A. Gotsman, H. Yang, C. Ferreira, M. Najafzadeh, and M. Shapiro. 'Cause I'm strong enough: Reasoning about consistency choices in distributed systems. In Symp. on Principles of Prog. Lang. (POPL), pages 371--384, St. Petersburg, FL, USA, 2016. Google ScholarDigital Library
- C. Li, D. Porto, A. Clement, J. Gehrke, N. Preguiça, and R. Rodrigues. Making geo-replicated systems fast as possible, consistent when necessary. In Symp. on Op. Sys. Design and Implementation (OSDI), pages 265--278, Hollywood, CA, USA, Oct. 2012. Google ScholarDigital Library
- Microsoft. Consistency levels in DocumentDB. http://azure.microsoft.com/en-us/documentation/articles/documentdb-consistency-levels/, 2015.Google Scholar
- M. Najafzadeh and M. Shapiro. Demo of the CISE tool, Nov. 2015. Video of demo, with explanations.Google Scholar
- Y. Sovran, R. Power, M. K. Aguilera, and J. Li. Transactional storage for geo-replicated systems. In Symp. on Op. Sys. Principles (SOSP), pages 385--400, Cascais, Portugal, Oct. 2011. Assoc. for Computing Machinery. Google ScholarDigital Library
- D. B. Terry, V. Prabhakaran, R. Kotla, M. Balakrishnan, M. K. Aguilera, and H. Abu-Libdeh. Consistency-based service level agreements for cloud storage. In SOSP, 2013. Google ScholarDigital Library
- W. Vogels. Eventually consistent. CACM, 52(1), 2009. Google ScholarDigital Library
Recommendations
Consistent and automatic replica regeneration
Reducing management costs and improving the availability of large-scale distributed systems require automatic replica regeneration, that is, creating new replicas in response to replica failures. A major challenge to regeneration is maintaining ...
Interactive checks for coordination avoidance
AbstractStrongly consistent distributed systems are easy to reason about but face fundamental limitations in availability and performance. Weakly consistent systems can be implemented with very high performance but place a burden on the application ...
Session guarantees with raft and hybrid logical clocks
ICDCN '19: Proceedings of the 20th International Conference on Distributed Computing and NetworkingEventual consistency is a popular consistency model for geo-replicated data stores. Although eventual consistency provides high performance and availability, it can cause anomalies that make programming complex for application developers. Session ...
Comments