skip to main content
research-article

ElasTraS: An elastic, scalable, and self-managing transactional database for the cloud

Published:26 April 2013Publication History
Skip Abstract Section

Abstract

A database management system (DBMS) serving a cloud platform must handle large numbers of application databases (or tenants) that are characterized by diverse schemas, varying footprints, and unpredictable load patterns. Scaling out using clusters of commodity servers and sharing resources among tenants (i.e., multitenancy) are important features of such systems. Moreover, when deployed on a pay-per-use infrastructure, minimizing the system's operating cost while ensuring good performance is also an important goal. Traditional DBMSs were not designed for such scenarios and hence do not possess the mentioned features critical for DBMSs in the cloud.

We present ElasTraS, which combines three design principles to build an elastically-scalable multitenant DBMS for transaction processing workloads. These design principles are gleaned from a careful analysis of the years of research in building scalable key-value stores and decades of research in high performance transaction processing systems. ElasTraS scales to thousands of tenants, effectively consolidates tenants with small footprints while scaling-out large tenants across multiple servers in a cluster. ElasTraS also supports low-latency multistep ACID transactions, is fault-tolerant, self-managing, and highly available to support mission critical applications. ElasTraS leverages Albatross, a low overhead on-demand live database migration technique, for elastic load balancing by adding more servers during high load and consolidating to fewer servers during usage troughs. This elastic scaling minimizes the operating cost and ensures good performance even in the presence of unpredictable changes to the workload.

We elucidate the design principles, explain the architecture, describe a prototype implementation, present the detailed design and implementation of Albatross, and experimentally evaluate the implementation using a variety of transaction processing workloads. On a cluster of 20 commodity servers, our prototype serves thousands of tenants and serves more than 1 billion transactions per day while migrating tenant databases with minimal overhead to allow lightweight elastic scaling. Using a cluster of 30 commodity servers, ElasTraS can scale-out a terabyte TPC-C database serving an aggregate throughput of approximately one quarter of a million TPC-C transactions per minute.

Skip Supplemental Material Section

Supplemental Material

References

  1. Aguilera, M. K., Merchant, A., Shah, M., Veitch, A., and Karamanolis, C. 2007. Sinfonia: A new paradigm for building scalable distributed systems. In Proceedings of the 21st ACM Symposium on Operating System Principles. ACM, New York, NY, 159--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Baker, J., Bond, C., et al. 2011. Megastore: Providing scalable, highly available storage for interactive services. In Proceedings of the 5th Biennial Conference on Innovative Data Systems Research. 223--234.Google ScholarGoogle Scholar
  3. Berenson, B., Bernstein, P., Gray, J., Melton, J., O'Neil, E., and O'Neil, P. 1995. A critique of ANSI SQL isolation levels. In Proceedings of the ACM SIGMOD International Conference on Management of Data. ACM, New York, NY, 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bernstein, P., Reid, C., and Das, S. 2011b. Hyder: A transactional record manager for shared Flash. In Proceedings of the 5th Biennial Conference on Innovative Data Systems Research. 9--20.Google ScholarGoogle Scholar
  5. Bernstein, P. A., Cseri, I., et al. 2011a. Adapting Microsoft SQL Server for cloud computing. In Proceedings of the 27th International Conference on Data Engineering. IEEE, 1255--1263. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bernstein, P. A. and Newcomer, E. 2009. Principles of Transaction Processing, 2nd Ed. Morgan Kaufmann Publishers Inc., San Francisco, CA.Google ScholarGoogle Scholar
  7. Bradford, R., Kotsovinos, E., Feldmann, A., and Schiöberg, H. 2007. Live wide-area migration of virtual machines including local persistent state. In Proceedings of the 3rd International Conference on Virtual Execution Environments. ACM, New York, NY, 169--179. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Brantner, M., Florescu, D., Graf, D., Kossmann, D., and Kraska, T. 2008. Building a database on S3. In Proceedings of the ACM SIGMOD International Conference on Management of Data. ACM, New York, NY, 251--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Chandrasekaran, C. and Bamford, R. 2003. Shared cache - The future of parallel databases. In Proceedings of ICDE. IEEE, 840--850.Google ScholarGoogle Scholar
  10. Chang, F., Dean, J., Ghemawat, S., Hsieh, W. C., Wallach, D. A., Burrows, M., Chandra, T., Fikes, A., and Gruber, R. E. 2006. Bigtable: A distributed storage system for structured data. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation. USENIX Association, Berkeley, CA, 205--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Clark, C., Fraser, K., Hand, S., Hansen, J. G., Jul, E., Limpach, C., Pratt, I., and Warfield, A. 2005. Live migration of virtual machines. In Proceedings of the 2nd Symposium on Networked Systems Design and Implementation. USENIX Association, Berkeley, CA, 273--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Cooper, B. F., Ramakrishnan, R., Srivastava, U., Silberstein, A., Bohannon, P., Jacobsen, H.-A., Puz, N., Weaver, D., and Yerneni, R. 2008. PNUTS: Yahoo!'s hosted data serving platform. Proc. VLDB Endow. 1, 2, 1277--1288. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Cooper, B. F., Silberstein, A., Tam, E., Ramakrishnan, R., and Sears, R. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM Symposium on Cloud Computing. ACM, New York, NY, 143--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Curino, C., Jones, E., Popa, R., Malviya, N., Wu, E., Madden, S., Balakrishnan, H., and Zeldovich, N. 2011. Relational Cloud: A database service for the cloud. In Proceedings of the 5th Biennial Conference on Innovative Data Systems Research. 235--240.Google ScholarGoogle Scholar
  15. Curino, C., Jones, E., Zhang, Y., and Madden, S. 2010. Schism: a workload-driven approach to database replication and partitioning. Proc. VLDB Endow. 3, 1 48--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Das, S., Agrawal, D., and El Abbadi, A. 2009. ElasTraS: An elastic transactional data store in the cloud. In Proceedings of the 1st USENIX Workshop on Hot topics on Cloud Computing. USENIX Association, Berkeley, CA, 1--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Das, S., Agrawal, D., and El Abbadi, A. 2010. G-Store: A scalable data store for transactional multi key access in the cloud. In Proceedings of the 1st ACM Symposium on Cloud Computing. ACM, New York, NY, 163--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Das, S. Nishimura, S., Agrawal, D., and El Abbadi, A. 2011. Albatross: Lightweight elasticity in shared storage databases for the cloud using live data migration. Proc. VLDB Endow. 4, 8, 494--505. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., and Vogels, W. 2007. Dynamo: Amazon's highly available key-value store. In Proceedings of the 21st ACM Symposium on Operating System Principles. ACM, New York, NY, 205--220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Elmore, A. J., Das, S., Agrawal, D., and El Abbadi, A. 2011. Zephyr: live migration in shared nothing databases for elastic cloud platforms. In Proceedings of the ACM SIGMOD International Conference on Management of Data. ACM, New York, NY, 301--312. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Eswaran, K. P., Gray, J. N., Lorie, R. A., and Traiger, R. A. 1976. The notions of consistency and predicate locks in a database system. Comm. ACM 19, 11, 624--633. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Gray, J. 1978. Notes on data base operating systems. In Operating Systems, An Advanced Course, Springer, 393--481. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Gray, J. and Reuter, A. 1992. Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers Inc., San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. HDFS 2010. HDFS: A distributed file system that provides high throughput access to application data. http://hadoop.apache.org/hdfs/.Google ScholarGoogle Scholar
  25. Hunt, P., Konar, M., Junqueira, F. P., and Reed, B. 2010. ZooKeeper: wait-free coordination for internet-scale systems. In Proceedings of the USENIX Annual Technical Conference. USENIX Association, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Jacobs, D. and Aulbach, S. 2007. Ruminations on multi-tenant databases. In Proceedings of Datenbanksysteme in Business, Technologie und Web. 514--521.Google ScholarGoogle Scholar
  27. Kung, H. T. and Robinson, J. T. 1981. On optimistic methods for concurrency control. ACM Trans. Data. Syst. 6, 2, 213--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Lamport, L. 1998. The part-time parliament. ACM Trans. Comput. Syst. 16, 2, 133--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Liu, H., Jin, H., Liao, X., Hu, L., and Yu, C. 2009. Live migration of virtual machine based on full system trace and replay. In Proceedings of the 18th ACM International Symposium on High Performance Distributed Computing. ACM, New York, NY, 101--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Lomet, D. B., Fekete, A., Weikum, G., and Zwilling, M J. 2009. Unbundling Transaction Services in the Cloud. In Proceedings of the 4th Biennial Conference on Innovative Data Systems Research.Google ScholarGoogle Scholar
  31. Neuvonen, S., Wolski, A., Manner, M., and Raatikka, V. 2009. Telecommunication application transaction processing (TATP) benchmark description 1.0. http://tatpbenchmark. sourceforge.net/TATP Description.pdf.Google ScholarGoogle Scholar
  32. Patterson, P., Elmore, A. J., Nawab, F., Agrawal, D., and El Abbadi, A. 2012. Serializability, not serial: Concurrency control and availability in multi-datacenter datastores. Proc. VLDB Endow. 5, 11, 1459--1470. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Peng, D. and Dabek, F. 2010. Large-scale incremental processing using distributed transactions and notifications. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation. USENIX Association, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Rao, L. 2010. One database to rule the cloud: salesforce debuts Database.com for the enterprise. http://goo.gl/0BxVq.Google ScholarGoogle Scholar
  35. Sockut, G. H. and Iyer, B. R. 2009. Online reorganization of databases. ACM Comput. Surv. 41, 3, 1--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Tankel, D. 2010. Scalability of the Hadoop distributed file system. http://yhoo.it/HDFS.Google ScholarGoogle Scholar
  37. Transaction Processing Performance Council. 2009. TPC-C benchmark (Version 5.10.1).Google ScholarGoogle Scholar
  38. Theimer, M. M., Lantz, K. A., and Cheriton, D. R. 1985. Preemptable remote execution facilities for the V-system. In Proceedings of the 10th ACM Symposium on Operating System Principles. ACM, New York, NY, 2--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Trushkowsky, B., Bodík, P., Fox, A., Franklin, M. J., Jordan, M. I., and Patterson, D. A. 2011. The SCADS director: Scaling a distributed storage system under stringent performance requirements. In Proceedings of the 9th USENIX Conference on File and Storage Technologies. USENIX Association, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Vo, H. T., Chen, C., and Ooi, B. C. 2010. Towards elastic transactional cloud storage with range query support. Proc. VLDB Endow. 3, 1, 506--514. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. von Eicken, T. 2008. Righscale blog: Animoto's Facebook scale-up. http://goo.gl/C7Bh.Google ScholarGoogle Scholar
  42. Weikum, G. and Vossen, G. 2001. Transactional Information Systems: Theory, Algorithms, and the Practice Of Concurrency Control and Recovery. Morgan Kaufmann Inc., San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Weissman, C. D. and Bobrowski, S. 2009. The design of the force.com multitenant Internet application development platform. In Proceedings of the ACM SIGMOD International Conference on Management of Data. ACM, New York, NY, 889--896. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Yang, F., Shanmugasundaram, J., and Yerneni, R. 2009. A scalable data platform for a large number of small applications. In Proceedings of the 4th Biennial Conference on Innovative Data Systems Research.Google ScholarGoogle Scholar

Index Terms

  1. ElasTraS: An elastic, scalable, and self-managing transactional database for the cloud

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM Transactions on Database Systems
                ACM Transactions on Database Systems  Volume 38, Issue 1
                April 2013
                290 pages
                ISSN:0362-5915
                EISSN:1557-4644
                DOI:10.1145/2445583
                Issue’s Table of Contents

                Copyright © 2013 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 26 April 2013
                • Accepted: 1 December 2012
                • Revised: 1 June 2012
                • Received: 1 November 2011
                Published in tods Volume 38, Issue 1

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article
                • Research
                • Refereed

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader