系列 - Apache Calcite
读懂 Apache Calcite 这个嵌入式数据框架。
Calcite 不存数据,却能做完整的 SQL 解析、校验、优化和查询执行——它是 Flink、Elasticsearch、druid 等大量引擎的 SQL 引擎底座。这个系列按 Calcite 内部的处理链路展开:先认识它的定位与边界,再理解元数据 Catalog,然后是 SQL 的解析、验证,最后落到它统一的关系代数模型。
配合 JavaCC 教程一起读会顺很多——Calcite 的 Parser 正是用 JavaCC 实现的。
| # | 篇目 | 这一篇讲什么 |
|---|---|---|
| 01 | Apache Calcite Quick Start | Calcite 是什么,以及它有意省略了哪些数据库能力 |
| 02 | 深入理解 Apache Calcite-Catalog | 元数据注册与查询优化的基础 Catalog |
| 03 | Apache Calcite:SQL解析 | 基于 JavaCC 实现的 SQL Parser |
| 04 | Apache Calcite: SQL验证 | Validator 如何结合 Catalog 完成 SQL 绑定 |
| 05 | Apache Calcite 关系代数 | Calcite 统一的关系代数模型 |