Papers
Topics
Authors
Recent
Search
2000 character limit reached

SharedDB: Killing One Thousand Queries With One Stone

Published 1 Mar 2012 in cs.DB | (1203.0056v1)

Abstract: Traditional database systems are built around the query-at-a-time model. This approach tries to optimize performance in a best-effort way. Unfortunately, best effort is not good enough for many modern applications. These applications require response time guarantees in high load situations. This paper describes the design of a new database architecture that is based on batching queries and shared computation across possibly hundreds of concurrent queries and updates. Performance experiments with the TPC-W benchmark show that the performance of our implementation, SharedDB, is indeed robust across a wide range of dynamic workloads.

Citations (160)

Summary

Overview of SharedDB: A Novel Approach to Database Query Processing

The paper "SharedDB: Killing One Thousand Queries With One Stone" by Georgios Giannikis, Gustavo Alonso, and Donald Kossmann introduces a distinctive database architecture named SharedDB, which diverges from the traditional query-at-a-time processing model. This new architecture is specifically designed to address the performance inadequacies of conventional systems under high-load conditions, particularly in maintaining service-level agreements (SLAs) with rigorous response time requirements.

Key Innovations in SharedDB

At the core of SharedDB's innovation is its batching model that aggregates and processes queries and updates collectively, rather than individually. This model allows SharedDB to share computations across numerous concurrent queries, effectively utilizing overlaps in processed data. The paper highlights significant architectural elements:

  1. Data-Query Model: SharedDB introduces a novel data-query model that extends the relational data model by incorporating a query_id attribute. This attribute facilitates efficient shared computation by allowing SharedDB to manipulate multiple query identifiers simultaneously.
  2. Global Query Plan: Contrary to isolating query plans, SharedDB compiles a singular global query plan that serves all active queries concurrently. This shared execution model is critical in addressing the needs for response time predictability by reducing redundant operations across multiple queries or updates.
  3. Shared Operators: SharedDB utilizes shared processing for database operations such as joins, sorts, and group-by, thereby ensuring that these operations are done once for all applicable queries. This shared execution paradigm particularly benefits complex and high-throughput workloads.

Performance Implications and Validation

Extensive performance evaluation using the TPC-W benchmark substantiates SharedDB's capability. Notably, SharedDB exhibited twice the throughput of a leading commercial RDBMS and nearly eightfold better performance than MySQL, showcasing its robustness across varied dynamic workloads. These results are particularly impressive considering SharedDB's relative maturity compared to traditional systems.

Practical and Theoretical Implications

The proposed shared-computation approach by SharedDB has profound implications for both OLTP and OLAP workload processing. By ensuring bounded computation regardless of the number of concurrent queries, SharedDB effectively achieves predictable performance, which is pivotal for applications with stringent SLA requirements.

From a theoretical perspective, SharedDB challenges the long-standing reliance on the query-at-a-time model, presenting an alternative that scales more effectively with modern hardware capabilities and parallel processing requirements. Its generalized applicability across different workload types marks a significant advancement over systems like QPipe, CJoin, and DataPath, which are limited to specific queries and workloads.

Future Directions

Future research will likely explore optimizing SharedDB's global query planning and execution strategies, developing a cost model tailored for batch processing. Enhancements in parallel processing efficiency, particularly with multi-core and NUMA architectures, are promising areas of exploration. Moreover, extending SharedDB's principles to distributed environments could further enhance its applicability in large-scale, cloud-based deployments.

In conclusion, the paper presents a compelling architecture that leverages shared computation to improve database processing performance significantly. While there are areas for further enhancement, SharedDB's contributions represent a substantial stride in database management system research.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.