Building a Database in the Cloud Matthias Brantner Daniela Florescu David Graf Donald Kossmann ♦♣ Tim Kraska 28msec Inc. Oracle {firstname.lastname}@28msec.com dana.florescu@oracle.com Systems Group, ETH Zurich {firstname.lastname}@inf.ethz.ch Abstract There has been a great deal of hype about cloud computing. Cloud computing promises infinite scalability and high availability at low cost. Currently, Amazon Web Services is the most popular suite of cloud computing services, but other ven- dors such as Adobe, Google, and Microsoft are also appearing on the market place. The purpose of this paper is to demonstrate the opportunities and limitations of us- ing cloud computing as an infrastructure for general-purpose Web-based database applications. The paper studies alternative consistency protocols in order to build database services on top cloud storage services. Furthermore, the paper studies al- ternative client-server and indexing architectures. Both the performance (response time) and cost trade-offs are studied. 1 Introduction The Web has made it easy to provide and consume content of any form. Building a Web page, starting a blog, and making both searchable for the public have become a commodity. Arguably, the next wave is to make it easy to provide services on the Web. Services such as Flickr, YouTube, SecondLife, or Myspace lead the way. The ultimate goal, however, is to make it easy for everybody to provide such services — not just the big guys. Unfortunately, this is not yet possible. Clearly, there are non-technical issues that make it difficult to start a new service on the Web. Having the right business idea and effective marketing are at least as difficult on the Web as in the real world. There are, however, also technical difficulties. One of the most crucial problems is the cost to operate a service on the Web, ideally with 24 × 7 availability and acceptable latency. To run a large-scale service like YouTube, several data centers all around the world are needed. But, even running a small service with a few friends involves a hosted server and a database which both need to be ad- ministrated. Running a service becomes particularly challenging and expensive if the service is successful: Success on the Web can kill! In order to overcome these issues, 1