AI智能总结
龙冉–矩阵起源–研发工程师 DataFunSummit#2023 MatrixOne简介 矩阵起源是一家数据库创业公司,致力于打造开源超融合异构数据库MatrixOne,MatrixOne是一款面向未来的超融合异构云原生数据库管理系统。通过全新设计和研发的统一分布式数据库引擎,能够同时灵活支持OLTP、OLAP、Streaming等不同工作负载的数据管理和应用,用户可以在公有云、自建数据中心和边缘节点上无缝部署和运行。 Github:https://github.com/matrixorigin/matrixone 目录CONTENT TPC-H测试结果 MatrixOne整体架构 MatrixOne OLAP引擎 01 MatrixOne整体架构 DataFunSummit#2023 Overview File service Log service Data node Computation node HA keeper Read data TAE (Transactional Analytical Engine) 02 MO的OLAP计算引擎 DataFunSummit#2023 OLAP需要具备的SQL能力 •多表join•子查询•窗口函数•CTE/Recursive CTE•UDF•…… 计算引擎构成 子查询展开 •TPC-H Q2, 4, 11, 16, 17, 18, 20, 21, 22 子查询展开 •select s.name,e.coursefromstudents s,exams ewheres.id=e.sid ande.grade=(select min(e2.grade)fromexams e2wheres.id=e2.sid) 子查询展开(HyPer) 展开前 展开后 子查询展开(MatrixOne) 展开前 展开后 •select s.name,e.coursefromstudents s,examse,(selectsid,min(e2.grade)asmin_gradefrom examse2group by e2.sid)e3wheres.id=e.sid ande.grade=e3.min_gradeands.id=e3.sid •select s.name,e.coursefromstudents s,examsewheres.id=e.sid ande.grade=(selectmin(e2.grade)fromexams e2wheres.id=e2.sid) Optimizer •减少IO•列裁剪•谓词下推•谓词推断:q7 q19•Runtime filter:q18 Optimizer •减少计算•Join order:q2 q5 q7 q8 q9 q21•聚合下推/上拉:q13 q17•Groupjoin 谓词推断(TPC-H Q19) Join order(改进的贪心法) Join order(改进的贪心法) •确定事实表与维度表 Join order(改进的贪心法) •确定事实表与维度表•各事实表与其维度表join成子树 Join order(改进的贪心法) •确定事实表与维度表•各事实表与其维度表join成子树•先与过滤性好的维度表join Join order(改进的贪心法) •确定事实表与维度表•各事实表与其维度表join成子树•先与过滤性好的维度表join•子树之间用经典Join order算法 Join order(改进的贪心法) TPC-H Q5 TPC-H Q5 谓词推断+ Join order 谓词推断+ Join order Execution: Pipeline Push模型基于不同的Operator组成流水线Pipeline自底向上Push调度,以数据为中心而非Operator为中心Logical Plan后序遍历即可得到基础Pipeline结构 Morsel-Driven Parallelism以Task Queue为核心调度Pipeline,每个数据块的单位称为Morsel一个任务执行结束,通知调度器将后续任务加入队列CPU空闲时,可以从其他CPU偷取任务执行(Work Stealing) Execution: Pipeline SELECT*FROMSJOINR USINGAJOINTUSING B; Execution: physical operators TPC-H性能测试结果 DataFunSummit#2023 感谢观看 欢迎加入MatrixOneBetaProgram用户体验计划 MatrixOneBeta Program是矩阵起源全新推出的,与客户、用户一起持续提升MatrixOne产品和性能体验优化的计 加入MatrixOne Beta Program •Step1:扫描下方小程序码提交注册•Step2:MO架构师将会通过邮件的方式进行初步联系和沟通•Step3:加入Beta Program社区,开始您和MatrixOne的旅程 加入MatrixOne社区群,获取PPT