Towards application-specific query processing systems
This addresses the problem of inefficient query processing in geo-distributed environments for application architects, though it is incremental as it builds on existing query system concepts.
The paper tackles the challenge of tuning query processing systems for geo-distributed applications by proposing a new architecture based on Query Processing Units, enabling application-specific design and deployment, and demonstrates that state placement decisions affect trade-offs between response time and result freshness.
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.