Versionable, Branchable, and Mergeable Application State

David H. Lorenz, Boaz Rosenan

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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 languageEnglish
Title of host publicationOnward! 2014 - Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Part of SPLASH 2014
PublisherAssociation for Computing Machinery
Pages29-42
Number of pages14
ISBN (Electronic)9781450332101
DOIs
StatePublished - Oct 2014
Event2014 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 201424 Oct 2014

Publication series

NameOnward! 2014 - Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Part of SPLASH 2014

Conference

Conference2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2014 -Part of SPLASH 2014
Country/TerritoryUnited States
CityPortland
Period20/10/1424/10/14

Keywords

  • Availability
  • Conflict resolution
  • Consistency
  • Git
  • NoSQL
  • Optimistic replication
  • Source control management (SCM)
  • Transactions
  • Version control (VC)

Fingerprint

Dive into the research topics of 'Versionable, Branchable, and Mergeable Application State'. Together they form a unique fingerprint.

Cite this