Serializability, not Serial: Concurrency Control and Availability in MultiDatacenter Datastores Stacy Patterson1 Aaron J. Elmore2 Faisal Nawab2 Divyakant Agrawal2 Amr El Abbadi2 1Department of Electrical Engineering 2Department of Computer Science Technion Israel Institute of Technology University of California, Santa Barbara Haifa, 32000, Israel Santa Barbara, CA 93106
[email protected] {aelmore,nawab,agrawal,amr}@cs.ucsb.edu ABSTRACT ate applications within the eventual consistency model [20]. We present a framework for concurrency control and avail- Many cloud providers then introduced support for atomic ability in multi-datacenter datastores. While we consider access to individual data items, in essence, providing strong Google’s Megastore as our motivating example, we define consistency guarantees. This consistency level has become a general abstractions for key components, making our solu- standard feature that is offered in most cloud datastore im- tion extensible to any system that satisfies the abstraction plementations, including BigTable, SimpleDB, and Apache properties. We first develop and analyze a transaction man- HBase [16]. Strong consistency of single data items is suffi- agement and replication protocol based on a straightforward cient for many applications. However, if several data items implementation of the Paxos algorithm. Our investigation must be updated atomically, the burden to implement this reveals that this protocol acts as a concurrency prevention atomic action in a scalable, fault tolerant manner lies with mechanism rather than a concurrency control mechanism. the software developer. Several recent works have addressed We then propose an enhanced protocol called Paxos with the problem of implementing ACID transactions in cloud Combination and Promotion (Paxos-CP) that provides true datastores [2, 10, 11], and, while full transaction support re- transaction concurrency while requiring the same per in- mains a scalability challenge, these works demonstrate that stance message complexity as the basic Paxos protocol.