论文标题
针对特定应用的查询处理系统
Towards application-specific query processing systems
论文作者
论文摘要
数据库系统使用查询处理子系统来实现有效的基于查询的数据检索。设计任何查询密集型应用程序的一个重要方面是调整查询系统以适合应用程序的要求和工作量特征。但是,传统数据库系统提供的配置参数并不涵盖由用户和数据的地理分布产生的设计决策和权衡。在本文中,我们提出了一种新型查询系统体系结构的愿景,该构建通过使查询系统能够以每个用例为基础设计和部署来应对这一挑战。我们提出了一个称为查询处理单元的分布式抽象,该抽象封装了原始查询处理任务,并显示如何将其用作组装查询系统的构件。使用这种方法,应用程序架构师可以通过控制查询系统的体系结构及其状态的位置来构建专门针对其用例的查询系统。我们通过将其应用于可以灵活地将其状态放置在数据中心或边缘的查询系统的设计中,证明了这种方法的表现力,并表明状态放置决策会影响查询响应时间和查询结果新鲜度之间的权衡。
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.