Abstract
NoSQL databases are rapidly becoming the storage of choice for large-scale Web applications. However, for the sake of scalability these applications trade consistency for availability. In this paper, we regain control over this tradeoff by adapting an existing approach, version control (VC), to application state. By using VC, the data model is defined by the application and not by the database. The consistency model is determined at runtime by deciding when to merge and with whom. We describe the design of a VC system named VERCAST that provides fine-grained control over the consistency model used in maintaining application state.
Original language | English |
---|---|
Title of host publication | Onward! 2014 - Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Part of SPLASH 2014 |
Publisher | Association for Computing Machinery |
Pages | 29-42 |
Number of pages | 14 |
ISBN (Electronic) | 9781450332101 |
DOIs | |
State | Published - 20 Oct 2014 |
Event | 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2014 -Part of SPLASH 2014 - Portland, United States Duration: 20 Oct 2014 → 24 Oct 2014 |
Publication series
Name | Onward! 2014 - Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Part of SPLASH 2014 |
---|
Conference
Conference | 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2014 -Part of SPLASH 2014 |
---|---|
Country/Territory | United States |
City | Portland |
Period | 20/10/14 → 24/10/14 |
Bibliographical note
Publisher Copyright:Copyright © 2014 ACM.
Keywords
- Availability
- Conflict resolution
- Consistency
- Git
- NoSQL
- Optimistic replication
- Source control management (SCM)
- Transactions
- Version control (VC)
ASJC Scopus subject areas
- Software
- Computational Theory and Mathematics
- Computer Networks and Communications
- Computer Science Applications