Towards application-specific query processing systems
Abstract
Database systems use query processing subsystems for enabling efficient query-based data retrieval. An essential aspect of designing any query-intensive application is tuning the query system to fit the application's requirements and workload characteristics. However, the configuration parameters provided by traditional database systems do not cover the design decisions and trade-offs that arise from the geo-distribution of users and data. In this paper, we present a vision towards a new type of query system architecture that addresses this challenge by enabling query systems to be designed and deployed in a per use case basis. We propose a distributed abstraction called Query Processing Unit that encapsulates primitive query processing tasks, and show how it can be used as a building block for assembling query systems. Using this approach, application architects can construct query systems specialized to their use cases, by controlling the query system's architecture and the placement of its state. We demonstrate the expressiveness of this approach by applying it to the design of a query system that can flexibly place its state in the data center or at the edge, and show that state placement decisions affect the trade-off between query response time and query result freshness.
- Publication:
-
arXiv e-prints
- Pub Date:
- September 2020
- DOI:
- 10.48550/arXiv.2009.09671
- arXiv:
- arXiv:2009.09671
- Bibcode:
- 2020arXiv200909671V
- Keywords:
-
- Computer Science - Databases;
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing;
- Computer Science - Information Retrieval
- E-Print:
- 36{\`e}me Conf{\'e}rence sur la Gestion de Donn{\'e}es -- Principes, Technologies et Applications (BDA 2020), Oct 2020, Paris, France