skip to main content
research-article

PIQL: success-tolerant query processing in the cloud

Published:01 November 2011Publication History
Skip Abstract Section

Abstract

Newly-released web applications often succumb to a "Success Disaster," where overloaded database machines and resulting high response times destroy a previously good user experience. Unfortunately, the data independence provided by a traditional relational database system, while useful for agile development, only exacerbates the problem by hiding potentially expensive queries under simple declarative expressions. As a result, developers of these applications are increasingly abandoning relational databases in favor of imperative code written against distributed key/value stores, losing the many benefits of data independence in the process. Instead, we propose PIQL, a declarative language that also provides scale independence by calculating an upper bound on the number of key/value store operations that will be performed for any query. Coupled with a service level objective (SLO) compliance prediction model and PIQL's scalable database architecture, these bounds make it easy for developers to write success-tolerant applications that support an arbitrarily large number of users while still providing acceptable performance. In this paper, we present the PIQL query processing system and evaluate its scale independence on hundreds of machines using two benchmarks, TPC-W and SCADr.

References

  1. Apache HBase, 2011. http://hadoop.apache.org/hbase/.Google ScholarGoogle Scholar
  2. Google AppEngine: The Google Query Language, 2011. http://code.google.com/appengine/docs/python/datastore/.Google ScholarGoogle Scholar
  3. M. Armbrust et al. SCADS: Scale-Independent Storage for Social Computing Applications. In Proc. of CIDR, 2009.Google ScholarGoogle Scholar
  4. M. Armbrust et al. The Case for PIQL: a Performance Insightful Query Language. In Proc. of SoCC, pages 131--136, 2010. Google ScholarGoogle Scholar
  5. C. Arthur. Average twitter user has 126 followers... Guardian Technology Blog, June 2009.Google ScholarGoogle Scholar
  6. J. Baker et al. Megastore: Providing Scalable, Highly Available Storage for Interactive Services. In Proc. of CIDR, 2011.Google ScholarGoogle Scholar
  7. A. L. Ball. Are 5001 friends on Facebook one too many? New York Times, May 2010.Google ScholarGoogle Scholar
  8. M. Brantner, D. Florescu, D. A. Graf, D. Kossmann, and T. Kraska. Building a Database on S3. In Proc. of SIGMOD, 2008. Google ScholarGoogle Scholar
  9. M. J. Carey and D. Kossmann. On saying "Enough already!" in SQL. SIGMOD Rec., 26(2):219--230, 1997. Google ScholarGoogle Scholar
  10. F. Chang et al. Bigtable: A Distributed Storage System for Structured Data. In Proc. of OSDI, pages 205--218, 2006. Google ScholarGoogle Scholar
  11. R. Clifford. Distributed suffix trees. Journal of Discrete Algorithms, 2005. Combinatorial Pattern Matching (CPM) Special Issue.Google ScholarGoogle Scholar
  12. B. F. Cooper et al. PNUTS: Yahoo!'s Hosted Data Serving Platform. Proc. VLDB Endow., 1(2):1277--1288, 2008. Google ScholarGoogle Scholar
  13. G. DeCandia et al. Dynamo: Amazon's Highly Available Key-Value Store. SIGOPS, 41(6):205--220, 2007. Google ScholarGoogle Scholar
  14. R. Fagin, A. Lotem, and M. Naor. Optimal Aggregation Algorithms for Middleware. In Proc. of PODS, pages 102--113. ACM, 2001. Google ScholarGoogle Scholar
  15. A. Ganapathi et al. Predicting Multiple Metrics for Queries: Better Decisions Enabled by Machine Learning. In Proc. of ICDE, 2009. Google ScholarGoogle Scholar
  16. R. Goldman and J. Widom. WSQ/DSQ: A Practical Approach for Combined Querying of Databases and the Web. In Proc. of. SIGMOD, pages 285--296, 2000. Google ScholarGoogle Scholar
  17. G. Graefe. Query Evaluation Techniques for Large Databases. ACM Comput. Surv., 25(2):73--169, 1993. Google ScholarGoogle Scholar
  18. A. Hernando et al. Unravelling the size distribution of social groups with information theory in complex networks. European Physical Journal B, 2010.Google ScholarGoogle Scholar
  19. I. F. Ilyas, W. G. Aref, and A. K. Elmagarmid. Supporting Top-K Join Queries in Relational Databases. VLDB Journal, 13(3), 2004. Google ScholarGoogle Scholar
  20. I. F. Ilyas, G. Beskales, and M. A. Soliman. A Survey of Top-K Query Processing Techniques in Relational Database Systems. ACM Comput. Surv., 40(4):1--58, 2008. Google ScholarGoogle Scholar
  21. D. Kossmann, T. Kraska, and S. Loesing. An Evaluation of Alternative Architectures for Transaction Processing in the Cloud. In Proc. of SIGMOD, pages 579--590, 2010. Google ScholarGoogle Scholar
  22. T. Kraska. Building Database Applications in the Cloud. PhD thesis, ETH Zurich, 2010.Google ScholarGoogle Scholar
  23. R. Krishnamurthy, H. Boral, and C. Zaniolo. Optimization of Nonrecursive Queries. In Proc. of VLDB, pages 128--137, 1986. Google ScholarGoogle Scholar
  24. A. Lakshman and P. Malik. Cassandra: Structured Storage System on a P2P Network. In Proc. of PODC, page 5, 2009. Google ScholarGoogle Scholar
  25. G. Rivlin. Wallflower at the Web Party. New York Times, October 15 2006.Google ScholarGoogle Scholar
  26. E. Schurman and J. Brutlag. Performance Related Changes and their User Impact. Presented at Velocity Web Performance and Operations Conference, June 2009.Google ScholarGoogle Scholar
  27. R. Scoble. The you-don't-need-more-friends lobby. http://scobleizer.com/2007/10/14/the-you-dont-need-more-friends-lobby/.Google ScholarGoogle Scholar
  28. B. Trushkowsky et al. The SCADS Director: Scaling a Distributed Storage System Under Stringent Performance Requirements. In Proc. of FAST, 2011. Google ScholarGoogle Scholar
  29. B. Urgaonkar et al. An Analytical Model for Multi-tier Internet Services and Its Applications. June 2005.Google ScholarGoogle Scholar
  30. B. J. Watson et al. Probabilistic Performance Modeling of Virtualized Resource Allocation. In Proc. of ICAC, pages 99--108, 2010. Google ScholarGoogle Scholar

Index Terms

  1. PIQL: success-tolerant query processing in the cloud
        Index terms have been assigned to the content through auto-classification.

        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 Proceedings of the VLDB Endowment
          Proceedings of the VLDB Endowment  Volume 5, Issue 3
          November 2011
          117 pages

          Publisher

          VLDB Endowment

          Publication History

          • Published: 1 November 2011
          Published in pvldb Volume 5, Issue 3

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader