Tutorials Keynote Speech Posters Workshops Work in Progress Student Travel Grants Student Volunteer Program
Website
Mirror at the University of São Paulo
| |
Full
Paper Abstracts
Distributed Versioning:
Consistent Replication for Scaling Back-end Databases of Dynamic
Cristiana Amza, Alan Cox and Willy Zwaenepoel (Rice U. and EPFL Lausanne)
Dynamic content sites commonly consist of a front-end web server/application interpreter, and a
back-end database. In this paper, we focus on methods for scaling the database back-end through
data replication. Traditionally, eager replication provides strong consistency but has poor scaling
due to frequent conflict delays, and lazy replication provides good scaling but no consistency
guarantees. More recently, multiple levels of loose consistency have been defined in an effort to
provide both good scaling and a predefined set of consistency features. However, adjusting the
application to the available consistency models potentially requires non-trivial programming effort.
The key strategy we employ is a middleware solution we call distributed versioning, which allows
internal optimizations based on loose consistency between replicas to improve performance, while
the user sees strong consistency. In terms of internal optimizations, distributed versioning
combines a query scheduling policy that avoids conflicts, with a novel concurrency control based
on explicit versions that reduces conflict duration at each replica. We evaluate our system using
three widely used dynamic content applications: the e-commerce TPC-W benchmark with its three
workload mixes, an auction site benchmark, and a bulletin board benchmark. Our results show that
distributed versioning provides both the simplicity in application semantics and programming
of eager replication, and performance close to the best achievable using lazy replication for most
workloads.
|