Replica Placement in Multi-tenant Database Environments

Database-as-a-service providers typically use replication to meet the performance and availability guarantees demanded by their customers. A crucial problem in this context is that of placing the replicas on machines in such a way as to meet these guarantees while optimally utilizing the available resources, despite having incomplete or erroneous a priori knowledge of the workload characteristics. In contrast to previous work, we incorporate this uncertainty by proposing online algorithms that make little or no assumptions about workload characteristics. In this paper, we provide a formal definition of variants of the replica placement problem, as well as a wide spectrum of criteria to evaluate proposed solutions. We also designed and evaluated a number of new algorithms for the online replica placement problem. We show that one of our algorithms, RkC, which is based on the notion of the "power of two random choices", outperforms others with respect to these evaluation criteria.

[1]  Carlo Curino,et al.  Relational Cloud: a Database Service for the cloud , 2011, CIDR.

[2]  Michael Mitzenmacher,et al.  The Power of Two Choices in Randomized Load Balancing , 2001, IEEE Trans. Parallel Distributed Syst..

[3]  Jignesh M. Patel,et al.  Towards Multi-Tenant Performance SLOs , 2012, IEEE Transactions on Knowledge and Data Engineering.

[4]  Divyakant Agrawal,et al.  Characterizing tenant behavior for placement and crisis mitigation in multitenant DBMSs , 2013, SIGMOD '13.

[5]  Divyakant Agrawal,et al.  Albatross: Lightweight Elasticity in Shared Storage Databases for the Cloud using Live Data Migration , 2011, Proc. VLDB Endow..

[6]  Jeffrey D. Ullman,et al.  Worst-Case Performance Bounds for Simple One-Dimensional Packing Algorithms , 1974, SIAM J. Comput..

[7]  Jeffrey Considine,et al.  Simple Load Balancing for Distributed Hash Tables , 2003, IPTPS.

[8]  Tim Kraska,et al.  RTP: robust tenant placement for elastic in-memory database clusters , 2013, SIGMOD '13.

[9]  Philip A. Bernstein,et al.  Adapting microsoft SQL server for cloud computing , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[10]  Carlo Curino,et al.  Workload-aware database monitoring and consolidation , 2011, SIGMOD '11.

[11]  Jeffrey S. Chase,et al.  Cutting Corners: Workbench Automation for Server Benchmarking , 2008, USENIX Annual Technical Conference.

[12]  Eli Upfal,et al.  Performance prediction for concurrent database workloads , 2011, SIGMOD '11.

[13]  Divyakant Agrawal,et al.  Zephyr: live migration in shared nothing databases for elastic cloud platforms , 2011, SIGMOD '11.

[14]  冯海超 Windows Azure:微软押上未来 , 2012 .

[15]  Eli Upfal,et al.  Balanced Allocations , 1999, SIAM J. Comput..

[16]  Yun Chi,et al.  SWAT: a lightweight load balancing method for multitenant databases , 2013, EDBT '13.

[17]  Sanjeev Khanna,et al.  On multi-dimensional packing problems , 2004, SODA '99.

[18]  Alexander Zeier,et al.  Predicting in-memory database performance for automating cluster management tasks , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[19]  Fan Yang,et al.  A Scalable Data Platform for a Large Number of Small Applications , 2009, CIDR.

[20]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

[21]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[22]  Yun Chi,et al.  PMAX: tenant placement in multitenant databases for profit maximization , 2013, EDBT '13.