这是我参与「第四届青训营 」笔记创作活动的的第2天
哈喽大家好,今天是录播学习的第一天,我在这里做了简要的笔记总结供大家查询。
01.大数据体系和SQL
SQL包括:
SQL处理流程:
paser:输入字符串,输出抽象语法树
analyzer:输入抽象语法树,输出逻辑执行计划
02.常见的查询优化器
根据分类方法不同,可以分为两种
第一种根据遍历树的顺序不同,分为Top-down Optimizer和Bottom-up Optimizer
第二种根据优化原理不同,分为Rule-based Optimizer(RBO)和Cost-based Optimizer(CBO)
RBO:(实现简单,优化速度快,但不保证是最优)
(1)优化I/O
(2)优化网络
(3)优化CPU内存
CBO:统计信息+推导规则 -> 计算算子代价 -> 计算执行计划代价 -> 枚举
03.社区开源实践
概览:
Apache Calcite:(大数据领域流行的查询优化器)
·统一的SQL查询引擎
·使用Pattern匹配子树,执行等价变换
·支持异构数据模型
·内置RBO和CBO
Calcite RBO:
·内置100+优化规则
·四种匹配规则
Calcite CBO:
·基于Volcano/Cascade框架
·成本最优假设
·Top-down动态规划搜索
04.前沿趋势
·2021年初,Starburst Data 公司为其Trino系统筹集1亿美金。
·2021年6月,Apache Kafka商业化公司Confluent登陆NSDAQ,首日涨25%,市值超110亿美金。
·2021年8月,Apache lceberg的创建者Ryan Blue正式成立围绕lceberg的商业公司Tabular。
·2021年9月,Spark背后的公司Databricks宣布16亿美元融资,最新估值飙升至380亿美金。
·2021年10月,基于Apache Pulsar的商业化公司StreamNative宣布获得2300万美元A轮融资。
·DATA + AI = AI4DB/DB4AI: 学习型查询优化器在不断进化
·大数据创业如火如荼,SQL查询优化器仍然是必不可少的一个重要组件
·引擎架构的进化、云原生、湖仓一体等对SQL查询优化器有新的要求和挑战
今天对SQL Optimizer解析的学习就到这里了,感谢观看!