这是我参与「第四届青训营 」笔记创作活动的第1天
一、本堂课重点内容:
课程主要分为四个部分
第一部分介绍了大数据体系和SQL的处理流程
第二部分介绍了查询优化器的分类,重点讲解了RBO和CBO
第三部分介绍了社区开源实践,重点介绍了Apache Calcite项目
第四部分介绍了SQL引擎的前沿方向
二、知识点介绍:
- Sql处理流程如下
-
Rule-based Optimizer(RBO)
列裁剪 谓词下推 传递闭包 Runtime Filter …… 实现简单,优化速度快 一般是遍历各种经验规则,不能保证最优的执行计划 -
Cost-based Optimizer(CBO)
基于RBO得到等价的执行计划 通过比较算子代价总和选择最优的执行计划
同时依赖统计信息,需要较为准确的基数 -
社区开源实践概览
-
Volcano/Cascade的精髓是Memo、动态规划和减枝
-
前沿发展方向
引擎架构的进化 云原生 湖仓一体 DATA + AI
三、课后拓展:
-
关于HSAP, HTAP, HTSAP
HTAP 数据库能够在一份数据上同时支撑业务系统运行和 OLAP 场景,避免在传统的架构当中,在线与离线数据库之间要有大量的数据交互。HTAP 基于分布式架构支持弹性扩容,可按需扩展分布,或者说数据存储,轻松地应对高并发、海量数据的场景。在 HTAP 系统内部,数据按照行存和列存的形式进行混合存储,通过 TP/AP 负载隔离的方式,通过用户提供统一的查询入口,一站式地解决两类工作和负载的不同诉求。
HSAP 是面向 Serving 和 AP 场景混合设计的系统,Serving 场景,尤其是在特征存储这种场景下,数据的实时和批量摄入能力是一个刚性需求。
HSAP 基于分布式架构支持弹性扩容,也能够按需扩展吞吐以及存储,来应对高并发和海量数据分析的一个场景。在 HSAP 系统内部,数据也是按照行存和列存的这种形态进行混合存储,通过 Serving AP 负载隔离的这种方式,为用户提供一个统一的查询入口,一站式地解决两类工作负载不同诉求。
HTSAP在上述HSAP、HTAP的基础上改进,为实现One Database的美好愿景。
-
存储计算分离
主要目的是为了避免扩容时受限制,实现数据的独立扩展和快速恢复计算部分都是为数据库提供算力,其最基本的资源是CPU和内存,存储始终承担着数据持久化的工作
存算分离能再次流行是因为之前受限于的技术障碍:传输性能与存储能力问题已得到解决。
存算分离后计算实例可以摆脱物理服务器的束缚,任意迁移且不需要进行数据同步,这使得弹性扩展变得极为容易
四、引用参考:
- 面向未来的HTSAP一体化数据平台该是什么样子?
- 浅谈分布式数据库的计算和存储分离