深入理解 Apache Calcite ValcanoPlanner 优化器

注意:本文基于 Calcite 1.35.0 版本源码进行学习研究,其他版本可能会存在实现逻辑差异,对源码感兴趣的读者请注意版本选择。 前言 在上一篇深入理解 Apache Calcite HepPlanner 优化器一文中,我们介绍了查询优化器的基本概念和用途,并结合 Calcite HepPlanner 深入分析了启发式优化器的实现原理。启发式优化器使用相对简单,它直接对逻辑执行计...

Calcite

使用 Wireshark 解决 BenchmarkSQL 压测 Proxy 异常

问题背景 最近 ShardingSphere 社区用户反馈,他使用 BenchmarkSQL 工具对 ShardingSphere Proxy 进行性能测试,在执行 ./runDatabaseBuild.sh props.mysql 初始化数据阶段,出现了 ArrayIndexOutOfBoundsException 异常,而且异常能够稳定复现。考虑到 ShardingSphere 团队内...

In Action

深入理解 Apache Calcite HepPlanner 优化器

注意:本文基于 Calcite 1.35.0 版本源码进行学习研究,其他版本可能会存在实现逻辑差异,对源码感兴趣的读者请注意版本选择。 什么是 RBO Calcite 中的 RBO 规则 HepPlanner 中的基础概念 HepPlanner:基于规则的启发式优化器,实现了 RelOptPlanner 优化器接口; HepProgram:提供了维护各种类型 HepInstruc...

Calcite

Apache Calcite System Catalog 实现探究

注意:本文基于 Calcite 1.35.0 版本源码进行学习研究,其他版本可能会存在实现逻辑差异,对源码感兴趣的读者请注意版本选择。 前言 在上一篇 Apache Calcite SQL Parser 原理剖析一文中,我们详细介绍了 Apache Calcite SQL 解析引擎的实现原理,从基础的 JavaCC 使用,再到 Caclite SQL 解析引擎的内部实现,最后介绍了 C...

Calcite

使用 MySQL Test Framework 测试 ShardingSphere 联邦查询

MySQL Test Framework 简介 TODO MySQL Test Framework 使用 TODO ShardingSphere 联邦查询测试实战 TODO

ShardingSphere
12346