您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[腾讯]:新版 TDSQL MySQL 计算引擎能力解析 - 发现报告
当前位置:首页/其他报告/报告详情/

新版 TDSQL MySQL 计算引擎能力解析

2024-09-12腾讯欧***
新版 TDSQL MySQL 计算引擎能力解析

新版TDSQLMySQL 计算引擎能力解析 主讲人:马晓宇 TDSQL-MySQL行业需求 KSF 产品能力 结果 低延迟高并发高可用 稳定性强查询能力佳 银行行业市占率持续提升,健康发展 Oracle兼容性AP性能平滑过度 HTAP、Oracle 兼容 Oracle兼容能力领先、具备强有力的一站式HTAP 特定需求比如时序能力等 成本敏感弹性 整合多引擎统一管控持续降低使用成本 核心替换逐步启动,抓紧行业特性,增加行业覆盖 按照行业特点和政策要求,目前正从A向B、C转移,需要持续迭代产品能力与策略来应对不同的需求 201820192020 20212022 2023 20242025 20262027 需求A 需求B 需求C 全行业开启全面替换,部分行业可能先行,23或24年开始, 年开始大规模推进,27年完成阶段性目标 需求C 预估25 能源交通 制造教育 医疗物流 … 规模 年开始大 开始,22 ,20年 启规模验证 行业开 好的重点 需求BIT基础较推进 非银金融 (保险、资管等行业) 规模推进 20年大 18年开始, 化替代, 同步国产 心系统, 需求A新建核 银行核心、政府重要民生类业务 (国有大行、股份制/城商行、税务、社、医保等) TDSQL-MySQL计算引擎新版本 更强的计算能力 更平顺的使用体验 分布式数据库 TDSQL 更多SQL特性HTAP能力 TDSQL-MySQL计算引擎新架构图 SQL 查询解析 Plan Agg Join ScanScan 逻辑计划生成 Plan Agg HashJoin ScanScan 基于代价优化 统计信息 Dist-Plan Agg PartialAggHashJoin ScanScan 分布式计划生成 读写分离 分布式执行 分析加速 Set1 Libra主从 Set2 Libra AST Grp Join t1 t2 元信息 表结构 分片信息 主 从 更强的计算能力-多层次的下推 快速下推 代价优化 + 并行执行 HTAP引擎 Libra 分析引擎 优化点:列存+MPP 预期:数量级提升 复杂查询/混合负载 优化点:利用分布式并行能力预期:倍数提升 简单范式TP类 优化点:绕过冗余计算预期:百分比提升 o.cid='1' JOIN(c,o) AVG(p.price) 更强的计算能力-多层次的下推 更多层次的下推优化 对符合下推条件的查询直接下推减少不必要的 优化 在不同阶段插入快速下推检查 针对无法快速下推的复杂场景进行深度优化 兼顾不同场景的优化需求,提高吞吐降低延迟 SQLEngine 快速下推检查基于规则优化 再次快速下推检查基于代价深度优化 SELECTAVG(o.price),c.regionFROMcustomerc,ordero WHEREo.cid=c.cidANDo.cid='1‘ DataNode DataNode Order_s2 shardbycid Customer_s2 shardbycid Order_s1 shardbycid Customer_s1 shardbycid GROUPBYc.region; 更强的计算能力-更完备的计算下推 更完备的下推优化 针对复杂查询进行计划变换最大化下推效果 更完备且灵活的计划改写能力 驱动数据节点尽可能多并行承担计算任务 优化器增加对分片等更多维度的感知 让计算以更合适的形式和更合适的位置被执行 SELECTAVG(o.price),c.regionFROMcustomerc,ordero DataNode DataNode Order_s2 shardbycid Customer_s2 shardbycid Order_s1 shardbycid Customer_s1 shardbycid WHEREo.cid=c.cidANDo.prod='piano'GROUPBYc.region; AVG(o.price) SUM(o.price)COUNT(res_cnt) JOIN(c,o) SQLEngine 基于代价优化 o.prod='piano' Agg Join Filter<t1.idnotnull> indexscan<t2> scan<t1> 更强的计算能力-更完备的计算下推 groupbykey为分片键 Agg Agg PartialAgg JoinJoin Filter<t1.idnotnull> indexscan<t2> Filter<t1.idnotnull> indexscan<t2> scan<t1>scan<t1> t1.id/t2.id并不都为分片键groupbykey不为分片键 selectt1.?,sum(t2.c1)fromt1,t2wheret1.id=t2.idgroupbyt1.? TDSQLHTAP形态 TPEngine 并行复制 MasterNode LibraEngine MPP 列存 基于代价优化 基于GTID+水位线的一致性读取 更强的计算能力–HTAP能力 特点和优势 提供基于规则和代价的引擎选择 列存+MPP引擎带来数量级性能提升 引擎间数据同步提供更强的一致性约束 强资源隔离+一致性数据读取 适用场景 实时分析和报表 复杂查询分流 跑批结算 模板化二级分区 定义 更顺滑的用户体验-更自由的分布式表 新版本支持使用兼容MySQL分区表 的方式定义分布式表 每个一级分区就是分片 支持Hash/Range/RangeColumn/List/ListColumn多种分片方式 支持模板化二级分区定义 一级分区用于分片 二级分区用于分片内数据管理,例如按日建立二级分区以便按日淘汰数据 分片定义即 一级分区定义 类别 新特性 存储过程 复合语句和流程控制 兼容MySQL8的高阶特性 函数 CTE 视图触发器 如Rownum,ConnectBy,全链接等SQL特性支持 轻量Oracle兼容 如||拼接符等语法细节兼容 常用函数支持 其他 嵌入式SQL支持 游标 更好的功能增强–常用SQL能力和MySQL/Oracle兼容性 新版本全面兼容MySQL8的高阶特性,使得 MySQL用户向分布式扩展和迁移更加方便 在TDSQLPostgreSQL引擎全面支持Oracle兼容的情况下,TDSQLMySQL引擎新增轻量Oracle兼容,方便熟悉MySQL的用户群体迁移Oracle应用 新增C/C++代码中嵌入式SQL功能支持 THANKS