加载中...

Apache Calcite 是 Apache 软件基金会的顶级开源项目,提供与具体存储解耦的 SQL 解析、校验、关系代数表示与查询优化框架。系统接入 Calcite 后即可获得完整的 SQL 能力,而数据仍存在自身引擎中,因此被称为"数据管理框架"或数据库领域的通用底座。
Calcite 的核心包括:SQL 解析器与校验器、关系代数节点(RelNode)体系、基于规则的优化器(HepPlanner)与源自 Volcano/Cascades 模型的基于代价的优化器(VolcanoPlanner),以及丰富的内置重写规则(谓词下推、连接重排序等)。通过适配器(Adapter)机制可将 CSV、JDBC 数据源、NoSQL 等映射为可查询的表,支持跨源联邦查询;还提供流式 SQL 扩展。
大量数据系统基于 Calcite 构建 SQL 层,如 Apache Flink、Apache Hive、Apache Druid、Apache Kylin、Apache Phoenix 等,阿里巴巴 Blink 的 SQL 优化亦以其为基础。项目起源于 Julian Hyde 开发的 Optiq。
Calcite 把工业级查询优化能力组件化,大幅降低了新数据系统支持 SQL 的门槛,是学习查询优化实现的重要开源范本。

登录 后参与讨论
暂无讨论,来发表第一条评论吧