Elastic Scale-Out for Partition-Based Database Systems
An important goal for database systems today is to provide elastic scale-out, i.e., the ability to grow and shrink processing capacity on demand, with varying load. Database systems are difficult to scale since they are stateful - they manage a large database, and it is important when scaling to multiple server machines to provide mechanisms so that these machines can collaboratively manage the database and maintain its consistency. Database partitioning is often used to solve this problem, with each server machine being responsible for one partition. In this paper, the authors propose that the flexibility provided by a partitioned, shared nothing parallel database system can be exploited to provide elastic scale-out.