![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
apache calcite
ivy&feeling
这个作者很懒,什么都没留下…
展开
-
Apache Calcite VolcanoPlanner优化过程解析
Apache Calcite VolcanoPlanner优化过程解析使用VolcanoPlanner关系表达式的注册过程VolcanoPlanner是calcite自带的基于代价的优化器。在优化过程中,会计算优化规则生成的等价关系表达式的计算代价,通过动态规划算法找出整个最优的执行计划。使用VolcanoPlanner这里以一个单元测试为例子解释如何使用calcite的VolcanoPlanner。 @Test void myTest() { ConnectionSpec SCOTT原创 2020-11-10 17:14:03 · 904 阅读 · 0 评论 -
Apache Calcite的优化器规则解析
Apache Calcite的优化器规则解析RelOptRuleRelOptRule的构造函数RelOptRuleOperand构造函数用Rule方法创建Operand自定义规则calcite实现的优化器,无论是基于规则的HepPlanner还是基于代价的VolcanoPlanner,它们核心的部分都是要使用规则对关系表达式进行转换。大部分的可扩展的查询优化系统都会使用规则。规则是一个通用的概念,以一种简单和模块化的方式指定了一种模式,依据关系代数法则对关系表达式进行等价代换。规则使得优化器更加的模块化原创 2020-07-06 15:06:43 · 1529 阅读 · 2 评论 -
Apache Calcite VolcanoPlanner代价计算解析与源码调试方法
Apache Calcite VolcanoPlanner代价计算解析与源码调试方法代价计算方法VolcanoPlanner的getCost方法RelMetadataQueryJaninoRelMetadataProvider生成handlerCalcite的debug方法calcite的volcanoPlanner优化器是基于代价的,并且使用动态规划算法计算最优的关系表达式树。在通过规则变换后出现一个新的RelNode表达树结构时,对它与其子表达式进行注册的过程中会计算这个新的RelNode树结构的Re原创 2020-06-29 16:00:57 · 1913 阅读 · 1 评论 -
Apache Calcite JDBC查询流程详解
Apache Calcite JDBC查询流程详解Calcite JDBC的实现类Calcite的JDBC Driver获取Calcite的JDBC Conection创建Statement执行executeQuery方法创建ResultSet之前写了一篇文章使用Apache Calcite进行JDBC多数据源关联里面使用Calcite的JDBC的Adapter对后端数据库进行SQL查询,如下代码例子整个实现过程很简单,与常规的JDBC使用没有任何区别。但是Calcite在内部整个流程中做了很多有趣的工作原创 2020-05-28 10:42:51 · 4162 阅读 · 0 评论 -
Apache Calcite中的基本概念
Apache Calcite中的基本概念Calcite中的关系表达式Calcite的优化规则在学习Apache Calcite的一些基本概念之前,首先要弄懂关系表达式,并且要知道SQL与关系表达式的关系,因为Calcite的最核心的概念就是关系表达式。SQL与关系表达式的相关概念可以参考这篇文章SQL 形式化语言——关系代数。Calcite中的关系表达式在calcite中,当一个sql字符串被解析为SqlNode结构的AST树后,并不能直接被Calcite的优化器优化。还需要通过SqlToRelCo原创 2020-05-26 15:35:19 · 1636 阅读 · 0 评论 -
使用Apache Calcite进行JDBC多数据源关联
使用Apache Calcite进行JDBC多数据源关联准备工作JDBC单一数据源查询JDBC多数据源查询Calcite两种查询的执行计划总结如果熟悉阿里巴巴数据库管理dms平台的朋友可能知道,在dms上可以使用一条SQL语句查询进行跨库查询并将多个数据库的数据关联起来。如上图所示的场景,可以使用Apache Calcite实现。Calcite的简单介绍可以看一看这篇文章。Calcite的JDBC Adapter也提供了开箱即用的这些功能实现,虽然要实现像dms这样的商用系统功能,需要对calcite原创 2020-05-23 00:29:59 · 4737 阅读 · 9 评论