Is Scalable OLTP in the Cloud a Solved Problem?
Abstract
Many distributed cloud OLTP databases have settled on a sharedstorage design coupled with a single-writer. This design choice is remarkable since conventional wisdom promotes using a sharednothing architecture for building scalable systems. In this paper, we revisit the question of what a scalable OLTP design for the cloud should look like by analyzing the data access behavior of different systems. We find that a shared-storage design that supports multiple writers, combined with a coherent cache, has desirable properties for building scalable OLTP systems. For instance, this design provides scalability of writes and skewed reads by caching hot tuples on demand. At the same time, this design does not require user-defined partitioning and two-phase commit in contrast to a shared-nothing design. We present the lessons learned from building a multiple-writer cache-coherent cloud OLTP DBMS to show this architecture’s merits and present open research challenges.