首页
学习
活动
专区
工具
TVP
发布

Calcite剖析

Calcite背景介绍、核心概念、执行流程解析
专栏作者
12
文章
2581
阅读量
21
订阅数
Calcite系列(十二):可插拔性&JDBC驱动
为了实现动态数据源管理框架的目标,Calcite提供了丰富的可插拔能力和扩展性。用户可以根据使用场景进行自定义扩展。相关可插拔扩展的组件包括:
Yiwenwu
2024-04-25
1180
Calcite系列(十一):物化视图
物化视图(Materialized View):是一种特殊的物理表,本质是预计算,是多个计算过程之间的联系建立。从数据组织层面优化数据访问效率,即把某些耗时的操作(例如JOIN、AGGREGATE)的结果保存到物理存储上,可以像表一样被访问,以便在后续查询时直接复用,最终达到加速查询的目的,即空间换时间。而普通视图(View)仅是简化用户的查询定义,不存储实际结果数据。
Yiwenwu
2024-04-24
2840
Calcite系列(十):执行流程-计划树执行
计划树执行是SQL处理的第五步,也称为Implementor执行实现。Calcite主要提供两种Implementor实现方式:RelImplemntor 和 SqlImplemntor。
Yiwenwu
2024-04-23
1540
Calcite系列(九):执行流程-优化器优化
优化器优化是SQL处理的第四步,也是最核心的一步,优化器优化本质是基于优化规则实现关系代数等价转换。
Yiwenwu
2024-04-22
2570
Calcite系列(八):执行流程-计划树构建
计划树构建是SQL处理的第三步,构建出可关系代数优化的逻辑计划树RelNode,是优化器执行优化的前提。
Yiwenwu
2024-04-21
1930
Calcite系列(七):执行流程-合法性校验
合法性校验是SQL处理的第二步,在计算执行前,提前验证SQL正确性。该验证操作是非线性的,需要基于语法树处理各种嵌套的复杂情况。Calcite合法性校验基于SqlValidator 接口和对应实现类SqlValidatorImpl 完成。
Yiwenwu
2024-04-20
1390
Calcite系列(六):执行流程-语法解析
目前广泛使用的语法解析框架主要包括ANTLR、JavaCC和Yacc等。在大数据领域中,很多计算引擎都是基于ANTLR进行语法解析,例如 Hive、Spark和Presto等都基于ANTLR进行处理。然而,Calcite使用JavaCC编译器进行语法解析。
Yiwenwu
2024-04-19
2970
Calcite系列(五):执行流程-概览
SQL执行流程有一套通用的步骤,尽管具体的实现可能会因数据库系统的不同而有所差异,但流程相对固定。以下是通用的SQL处理流程:
Yiwenwu
2024-04-18
2020
Calcite系列(四):核心概念-Adapter
Calcite作为SQL中间件,为提供扩展性并适配不同数据源,提供了Adapter(适配器)方式对接数据源并根据数据源特性进行查询优化。
Yiwenwu
2024-04-17
2170
Calcite系列(三):核心概念-Convention
Convention:Calcite设计的核心概念,代表一类特定的数据源或执行引擎,基于Convention可生成与具体数据源或者引擎相关的执行计划。Calcite初始逻辑计划的所有树节点Convention=NONE,此时CBO代价无穷大,基于Calcite内置执行器无法直接执行。只有将所有计划树节点都转为可执行Convention才可基于Calcite执行,该转换过程可等价理解为从逻辑计划转为物理计划。
Yiwenwu
2024-04-16
1820
Calcite系列(二):核心概念-关系代数
关系模型是一种用于数据库管理的理论框架,其基础建立在数学的集合论之上。该模型由Edgar F. Codd 于1970年提出,旨在以一种严格且理论化的方式来描述数据之间的关系,使得数据操作能够通过一系列关系代数来表达。关系模型主要由以下三部分组成:
Yiwenwu
2024-04-15
2490
Calcite系列(一):背景介绍
Apache Calcite是一款开源的动态数据管理框架,提供了标准的 SQL 语言、查询优化和连接各种数据源的能力,但不包括数据存储、处理数据的算法和存储元数据的存储库。
Yiwenwu
2024-04-14
2891
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档