Skip to main content
QUICK REVIEW

[Paper Review] PIQL: Success-Tolerant Query Processing in the Cloud

Michael Armbrust, Kristal Curtis|arXiv (Cornell University)|Nov 30, 2011
Cloud Computing and Resource Management22 references4 citations
TL;DR

PIQL introduces a declarative query language that ensures scale independence by statically bounding the number of key/value operations per query, enabling predictable performance under massive data growth. By combining compile-time analysis, SLO compliance prediction, and a scalable key/value backend, PIQL allows developers to build success-tolerant web applications without sacrificing data independence or requiring imperative code.

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.

Motivation & Objective

  • To address the 'Success Disaster' in web applications, where rapid user growth causes database overload and performance degradation.
  • To overcome the limitations of traditional RDBMSs, which hide expensive operations due to data independence, leading to scalability failures.
  • To provide a solution that maintains the benefits of declarative query languages while ensuring predictable performance at scale.
  • To enable developers to build highly scalable web applications without abandoning data independence or resorting to low-level imperative code.

Proposed method

  • PIQL uses static analysis during query compilation to compute an upper bound on the number of key/value store operations for any query plan.
  • The system enforces scale independence by rejecting query plans with unbounded operation counts, even if they are faster on small datasets.
  • A service-level objective (SLO) compliance prediction model estimates response times at compile time, enabling early detection of performance risks.
  • The execution engine leverages parallelism and pipelined operators to minimize latency, with data-stop operators pushing selection logic closer to data sources.
  • The query compiler integrates threshold algorithms and stop-after logic to bound intermediate result sizes and reduce I/O.
  • PIQL's architecture uses a distributed key/value store as a record manager, enabling linear scalability and predictable per-request performance.

Experimental results

Research questions

  • RQ1Can a declarative query language provide scale independence such that queries performing well on small data remain performant as data grows?
  • RQ2How can compile-time bounds on key/value operations be computed for complex SQL-like queries to ensure predictable performance?
  • RQ3To what extent can SLO compliance be predicted at compile time using static analysis and runtime statistics?
  • RQ4Can a system combining declarative querying, static bounds, and key/value storage achieve linear scalability and low latency at scale?
  • RQ5What is the expressiveness of PIQL in supporting real-world web application workloads like TPC-W and Twitter-like workloads?

Key findings

  • PIQL successfully bounds the number of key/value operations for all queries, ensuring that performance degradation does not occur as data scales.
  • The SLO prediction model achieves high accuracy in estimating response times, enabling developers to identify and fix performance bottlenecks before deployment.
  • Evaluation on TPC-W and a Twitter-like benchmark shows that PIQL maintains low and predictable latency across hundreds of machines, even under heavy load.
  • PIQL’s query language is expressive enough to support complex interactive web applications, including those with joins and aggregations.
  • The system demonstrates linear scalability and consistent performance, with response times remaining within SLOs even as data size increases by orders of magnitude.
  • The combination of static analysis, bounded execution plans, and a key/value backend enables developers to achieve success tolerance without writing imperative code.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.