Elasca: Workload-Aware Elastic Scalability for Partition Based Database Systems