Distributed Transactions for Google App Engine: Optimistic Distributed Transactions built upon Local Multi-Version Concurrency Control
Daniel Shawcross Wilkerson, Simon Fredrick Vicente Goldsmith, Ryan, Barrett, Erick Armbrust, Robert Johnson, Alfred Fuller

TL;DR
This paper introduces an optimistic distributed transaction algorithm for Google App Engine that ensures data consistency across distributed objects, extending local transaction semantics to a broader set of applications.
Contribution
It presents a novel optimistic distributed transaction algorithm that maintains data invariants across distributed objects in Google App Engine, surpassing local transaction limitations.
Findings
Provides transaction semantics for any distributed objects
Ensures data consistency with optimistic concurrency control
Supports sequential consistency for local transactions
Abstract
Massively scalable web applications encounter a fundamental tension in computing between "performance" and "correctness": performance is often addressed by using a large and therefore distributed machine where programs are multi-threaded and interruptible, whereas correctness requires data invariants to be maintained with certainty. A solution to this problem is "transactions" [Gray-Reuter]. Some distributed systems such as Google App Engine [http://code.google.com/appengine/docs/] provide transaction semantics but only for functions that access one of a set of predefined local regions of the database: a "Local Transaction" (LT) [http://code.google.com/appengine/docs/python/datastore/transactions.html]. To address this problem we give a "Distributed Transaction" (DT) algorithm which provides transaction semantics for functions that operate on any set of objects distributed across the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Service-Oriented Architecture and Web Services · Software System Performance and Reliability
