Query evaluation techniques for large databases
ACM Computing Surveys (CSUR)
On saying “Enough already!” in SQL
SIGMOD '97 Proceedings of the 1997 ACM SIGMOD international conference on Management of data
WSQ/DSQ: a practical approach for combined querying of databases and the Web
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
Optimal aggregation algorithms for middleware
PODS '01 Proceedings of the twentieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Optimization of Nonrecursive Queries
VLDB '86 Proceedings of the 12th International Conference on Very Large Data Bases
Supporting top-k join queries in relational databases
The VLDB Journal — The International Journal on Very Large Data Bases
Dynamo: amazon's highly available key-value store
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Bigtable: a distributed storage system for structured data
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
A survey of top-k query processing techniques in relational database systems
ACM Computing Surveys (CSUR)
PNUTS: Yahoo!'s hosted data serving platform
Proceedings of the VLDB Endowment
Predicting Multiple Metrics for Queries: Better Decisions Enabled by Machine Learning
ICDE '09 Proceedings of the 2009 IEEE International Conference on Data Engineering
Cassandra: structured storage system on a P2P network
Proceedings of the 28th ACM symposium on Principles of distributed computing
The case for PIQL: a performance insightful query language
Proceedings of the 1st ACM symposium on Cloud computing
An evaluation of alternative architectures for transaction processing in the cloud
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Probabilistic performance modeling of virtualized resource allocation
Proceedings of the 7th international conference on Autonomic computing
The SCADS director: scaling a distributed storage system under stringent performance requirements
FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
Probabilistically bounded staleness for practical partial quorums
Proceedings of the VLDB Endowment
Towards principled design support for scalable OLTP workloads
Proceedings of the 15th International Conference on Extending Database Technology
Spanner: Google's globally-distributed database
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Generalized scale independence through incremental precomputation
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Spanner: Google’s Globally Distributed Database
ACM Transactions on Computer Systems (TOCS)
Hi-index | 0.00 |
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.