中文

不同物理表征对Datalog求值的重要性:为何“一刀切”不够?

数据库 2026-02-06 v1

摘要

Datalog是一种日益流行的递归查询语言,其声明性设计意味着其程序必须由引擎翻译为实际的物理执行计划。在生成此计划时,核心决策之一是如何物理地表示所有涉及的关系,而现有Datalog引擎在这方面 surprisingly 限制性,而常常采用“一刀切”的解决方案。其原因在于,Datalog程序的典型执行计划不仅执行单一类型的操作针对物理表征,还混合了操作类型,如插入、查找和包含检查。进一步地,每种操作类型的相关性高度取决于工作负载特性,这些特性范围从熟悉的属性,如单个关系的大小、基数和 arity,到非常具体的Datalog属性,如规则在多个关系中交织的程度,特别是查询的递归性质,这种查询可能会在求值期间动态生成新的元组。上述表明,针对不同工作负载情境所需的各种物理表征,每种表征都有其优势和不足,都是满足特定需求所必需的。为评估这一点,我们对潜在合适的物理表征与七个工作负载特性维度之间的相互作用进行深入的实验研究,揭示哪些属性实际上至关重要。基于这些见识,我们设计了一种自动选择机制,利用一组决策树来识别给定工作负载的合适物理表征。

关键词

引用

@article{arxiv.2602.05651,
  title  = {One Size Does NOT Fit All: On the Importance of Physical Representations for Datalog Evaluation},
  author = {Nick Rassau and Felix Schuhknecht},
  journal= {arXiv preprint arXiv:2602.05651},
  year   = {2026}
}