Scalable database replication through dynamic multiversioning

  • Authors:
  • Kaloian Manassiev;Cristiana Amza

  • Affiliations:
  • Department of Computer Science, University of Toronto, Canada;Department of Electrical and Computer Engineering, University of Toronto, Canada

  • Venue:
  • CASCON '05 Proceedings of the 2005 conference of the Centre for Advanced Studies on Collaborative research
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We scale the database back-end in dynamic content web servers on a set of database replicas while maintaining strong consistency. This is contrary to conventional wisdom in replicated databases which says that one could have either strong consistency or scalability, but not both.The key to scaling is a novel integrated fine-grained concurrency control and data replication algorithm called Dynamic Multiversioning that provides fine-grained distributed concurrency control at the level of a memory page across a database cluster. We exploit the different distributed data versions that naturally come about as a result of asynchronous data replication in order to increase concurrency by running conflicting transactions in parallel on different replicas.At the same time, the serialization order is determined using fine-grained concurrency control at a master database and enforced through a version-aware scheduling technique. Our technique does not put any crucial data in the scheduler, which permits easy reconfiguration, without loss of data, in the case of single-node failures of any node in the system.Our measurements show near-linear scaling up to 8 databases for the browsing, shopping and even for the write-heavy ordering workload of the industry-standard e-commerce TPC-W benchmark.