The past decade has witnessed an increasing adoption of cloud database technology, which provides better scalabil-ity, availability, and fault-tolerance via transparent parti- tioning and replication, and automatic load balancing and fail-over. However, only a small number of cloud databases provide strong consistency guarantees for distributed trans- actions, despite decades of research on distributed transac-tion processing, due to practical challenges that arise in the cloud setting, where failures are the norm, and human ad- ministration is minimal. For example, dealing with locks left by transactions initiated by failed machines, and de- termining a multi-programming level that avoids thrashing without under-utilizing available resources, are some of the challenges that arise when using lock-based transaction pro- cessing mechanisms in the cloud context. Even in the case of optimistic concurrency control, most proposals in the lit- erature deal with distributed validation but still require thedatabase to acquire locks during two-phase commit when installing updates of a single transaction on multiple ma- chines. Very little theoretical work has been done to en- tirely eliminate the need for locking in distributed trans- actions, including locks acquired during two-phase commit. In this paper, we re-design optimistic concurrency control to eliminate any need for locking even for atomic commitment, while handling the practical issues in earlier theoretical work related to this problem. We conduct an extensive experi-mental study to evaluate our approach against lock-based methods under various setups and workloads, and demon-strate that our approach provides many practical advantages in the cloud context.
ASJC Scopus subject areas
- Computer Science (miscellaneous)
- Computer Science(all)