Scalable database replication through dynamic multiversioning
Kaloian Manassiev, Cristiana Amza · 2005
We scale the database back-end in dynamic content clus-ter servers by distributing read-only transactions on a set of lightweight database replicas while maintaining 1-copy-serializability. This is contrary to conventional wis-dom in replicated databases which says that one could have either 1-copy serializability 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 dis-tributed concurrency control at the level of a memory page across a database cluster. We exploit the differ-ent 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 deter-mined using fine-grained concurrency control at a master database and enforced through a version-aware schedul-ing technique. Our technique does not put any crucial data in the scheduler, which permits easy reconfigura-tion, without loss of data, in the case of single-node fail-ures 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. 1