# 社区开源实践03/前沿趋势04|青训营笔记

91 阅读2分钟

这是我参与【第四届青训营】笔记创作活动的第三天

Apache Calcite概括

  • One site fits all: 统一的SQL查询引擎
  • 模块化、插件化、可靠稳定
  • 支持异构数据模型:关系型、半结构化、流试、地理空间数据
  • 内置CBO和RBO

Calcite RBO概括

HepPlanner里面有

  • 优化规则(rule):patten:匹配表达式子树;等价变换:得到新的表达式
  • 内置100+优化规则
  • 四种匹配规则:Depth_first深度优先;Top-down拓扑顺序;Bottom-up和Top-down相反
  • 遍历所有rule 直到没有rule可以被触发
  • 优化速度快,简单实现,但是不能保证最优

Volcano Planner

  • 基于volcano/cascade框架
  • 成本最优假设:先求解子问题最优
  • Memo:储存优选执行计划;本质:AND/OR graph;共享子树减少内存开销
  • Group:等价计划集合
  • Top-down动态规划搜索
  • 应用Rule搜索候选计划
  • 得到group winner 找到当前的最优计划
  • 剪枝(brunch and bound pruning):减少搜索空间

04前沿趋势

  • 引擎架构的进化:存储计算分离,现在是一体的,更换时需要很大的开销/一体化:事务性数据和分析型数据两者结合,既可以分析也可以服务;HTSAD:在一个系统里进行所有事物,成本降低
  • 云原生:根据负载动态调整规模,减小成本
  • 湖仓一体:数据仓库,对原始数据进行处理存入仓库,会丢失原始数据;数据湖:把原始数据当成文件储存,但是很难管理;将两者优点结合
  • Data+AI

Data+AI

AI4DB

  • 自配置:智能调参(OtterTune,QTune),负载预测/调度
  • 自诊断,自愈合:错误恢复/数据迁移
  • 自优化:统计信息估计(learned cardinality)更准确估算统计信息,代价估计,学习型优化器(IBM,DB2,LEO),索引/视图推荐

DB4AI

  • 内嵌人工智能算法(MLSQL,SQLFLOW)
  • 内嵌机器学习框架(SparkML)