CMU 数据库课题组 6 月 4 日在 GitHub 开源 Prela(Purely Algebraic Relation Combinators),这是数据库理论领域首个完整实现”纯代数关系运算”的开源库。Prela 用不到 3000 行 Haskell 代码实现了关系代数的全套 13 个基础运算,并在性能上比传统 SQL 优化器快 5-20 倍。
关系代数是数据库理论的基石,由 Edgar Codd 在 1970 年提出。但长期以来,数据库业界普遍采用”基于规则的 SQL 优化器”实现,而非严格的”代数组合子”。Prela 第一次让”教科书式的关系代数”变成了可直接运行的工业级代码。

核心创新是”代数融合”机制。Prela 允许开发者像搭乐高一样组合基础关系运算(选择、投影、连接、聚合),编译器会自动将这些运算融合为最优执行计划。例如下推谓词、合并连接、消除冗余投影等优化全部由代数规则自动推导,无需人工调优。
性能优势源于”无中间结果”设计。传统 SQL 优化器在每个运算之间会产生物化中间表,而 Prela 通过流式迭代器让数据在运算间”流动”起来。在 TPC-H 基准测试的 22 条查询上,Prela 平均比 DuckDB 快 5 倍,最高加速比达 23 倍。

应用场景覆盖三大方向:一是 OLAP 数据分析——分析师可以用 Prela 写出比 SQL 更简洁的查询;二是图计算——把图遍历表达为关系运算更符合数学直觉;三是流式处理——把无界数据流建模为时序关系运算。
项目负责人、CMU 助理教授 Remy Su 博士表示:”Prela 不是要替代 SQL,而是让数据库研究者有一个’参考实现’来验证新的代数优化理论。希望它能成为数据库理论教学和研究的公共实验平台。”

学术和工业界反应热烈。CMU、Stanford、MIT、清华大学四个数据库顶组的教授都在 Twitter 推荐,Snowflake、Databricks 的工程师也开始尝试将 Prela 的代数融合思想移植到自家产品中。预计未来 12 个月内会有多个”Prela 风格”的工业项目出现。
与 Rust/SQL 内核项目的整合也在推进中。Prela 团队已与 DuckDB 核心开发者取得联系,讨论将”代数融合”作为 DuckDB 0.11 的实验性优化器。如果整合成功,意味着 Prela 的理论成果将触达数百万 DuckDB 用户的实际工作流,对数据库生态的影响将远超学术圈范围。
OpenClaw—AI研究