paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Push versus pull-based loop fusion in query engines

查询引擎中的推式与拉式循环融合
JFP vol.282018匹配度 1/10 · 该论文研究数据库查询引擎中的推式/拉式执行与循环融合,属于数据库与程序语言交叉的查询编译优化,与用户画像中的静态分析、Agentic/LLM 程序分析、浮点程序分析或贝叶斯程序分析均无直接关联。引用 30 inbox
AMIR SHAIKHHA, MOHAMMAD DASHTI, CHRISTOPH KOCH
crossref: 2026-09-10

AI 速览

一句话:系统比较推式与拉式查询引擎,揭示其与循环融合的联系,提出融合二者优点的新型拉式引擎。

数据库查询引擎通常采用推式或拉式流水线以避免算子间数据物化,但二者优劣尚缺公平比较。本文深入分析两类引擎的局限与优势,并建立数据库流水线执行与程序语言中循环融合技术的对应关系。受循环融合启发,作者提出一种新型拉式引擎,兼具推式与拉式优点。随后在查询编译场景下首次于公平环境中实验比较多种引擎,消除仅用于单一方法的附带优化偏差。结果表明,对真实分析型负载,两类流水线引擎并无近期研究宣称的显著优劣;微基准则揭示各自边界,而所提引擎综合两者优势并优于现有引擎。

问题
如何公平理解推式与拉式查询引擎在避免中间物化时的优缺点,并弥合数据库流水线执行与程序语言循环融合研究之间的割裂。
方法
将流水线查询引擎与循环融合技术相对应,提出一种受循环融合启发的新型拉式引擎,并在查询编译场景下进行公平实验比较。
评估
在真实分析型负载和微基准上评估多种查询引擎,消除附带优化偏差,比较不同方法的性能表现与边界情况。
原文摘要(Abstract)

Abstract Database query engines use pull-based or push-based approaches to avoid the materialization of data across query operators. In this paper, we study these two types of query engines in depth and present the limitations and advantages of each engine. Similarly, the programming languages community has developed loop fusion techniques to remove intermediate collections in the context of collection programming. We draw parallels between databases (DB) and programming language (PL) research by demonstrating the connection between pipelined query engines and loop fusion techniques. Based on this connection, we propose a new type of pull-based engine, inspired by a loop fusion technique, which combines the benefits of both approaches. Then, we experimentally evaluate the various engines, in the context of query compilation, for the first time in a fair environment, eliminating the biasing impact of ancillary optimizations that have traditionally only been used with one of the approaches. We show that for realistic analytical workloads, there is no considerable advantage for either form of pipelined query engine, as opposed to what recent research suggests. Also, by using micro-benchmarks, which demonstrate certain edge cases on which one approach or the other performs better, we show that our proposed engine dominates the existing engines by combining the benefits of both.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot334,
  title = {Push versus pull-based loop fusion in query engines},
  author = {AMIR SHAIKHHA and MOHAMMAD DASHTI and CHRISTOPH KOCH},
  journal = {Journal of Functional Programming},
  volume = {28},
  year = {2018},
  doi = {10.1017/s0956796818000102}
}