计算机科学 > 数据库
[提交于 2025年11月2日
]
标题: FlowLog:通过增量性实现的高效可扩展Datalog
标题: FlowLog: Efficient and Extensible Datalog via Incrementality
摘要: 基于Datalog的语言正在程序分析和图处理等领域重新获得流行,作为一种强大的抽象来表达递归计算。 然而,现有系统常常在效率和可扩展性之间面临权衡。 像Souffle这样的引擎通过领域特定设计实现了高效率,但缺乏通用灵活性。 而像RecStep这样的系统则通过在传统数据库上分层Datalog来提供模块化,但在集成Datalog特定优化方面存在困难。 本文通过介绍FlowLog来弥合这一差距,这是一个新的Datalog引擎,它为每个规则使用显式的关系IR,以清晰地将递归控制(例如半朴素执行)与每个规则的逻辑计划分开。 这种界限使我们能够在逻辑层保留细粒度的、Datalog感知的优化,同时在执行时复用现成的数据库原语。 在逻辑层面(即IR),我们应用了经过验证的SQL优化,如逻辑融合和子计划重用。 为了应对递归工作负载的高波动性,我们采用了一种以稳健性优先的方法,将结构优化器(避免最坏情况连接)与横向信息传递(早期过滤)相结合。 构建在Differential Dataflow之上——一个用于流数据分析的成熟框架——FlowLog支持批处理和增量Datalog,并添加了称为布尔(或代数)特化的新型递归感知优化。 我们的评估显示,FlowLog在广泛的递归工作负载中优于最先进的Datalog引擎和现代数据库,在保持简单和可扩展架构的同时实现了卓越的可扩展性。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.