1、OceanBase 的 OLAP 能力提升实践OceanBase 首席架构师杨志丰(竹翁)目录01/OceanBase简介02/SQL并行执行03/高级查询优化器04/行列混合存储引擎05/资源隔离06/快速导入OceanBase简介OceanBase发展历程产品立项产品立项第一个用户20102016核心账务核心交易支付金融核心业务多家金融客户多家金融客户互联网核心系统2017打破世界纪录打破世界纪录公有云服务TPC-C 6100万2019HTAP 引擎TPC-C 7.07亿2020V0.1 分布式,三副本高可用V1.0 分布式事务,多租户V3.0 HTAP混合负载 自主研发,完整知识产权、核
2、心能力100%掌控支付宝账务支付宝账务独立商业化独立商业化 企业级能力,多年支撑蚂蚁核心业务100%负载,数百家单位客户V2.0 高度兼容,高性能V4.0 单机分布式一体化开源开放TPC-H 30T 1526万2021规模化推广规模化推广公有云社区用户2022生态大拓展生态大拓展Oracle 兼容MySQL 兼容企业级 SQL 引擎SQL 优化SQL 执行存储过程可扩展的分布式架构分布式存储分布式事务分布式调度基于 Paxos 的容灾架构同城三机房两地三中心三地五中心OceanBase 产品功能特性 高性能:TPC-C 7.07亿tpmC 世界第一 高可用:RPO=0,RTO200台集群节点数
3、6PB单库存储容量3200亿行单表行数RPO=0,RTO 270s 一阶段分布式查询优化 自适应执行引擎 三阶段并行下压SQL并行执行自适应TP+AP混合负载的执行引擎SQL执行串行执行本地执行本地数据远程数据分布式执行并行执行并行查询本地并行分布式并行并行DML 多种执行模式 向量化执行 大规模并行处理并行执行调度DFO0DFO1DFO2R1R2HJPartition Wise JoinHJHJHJPartial Partition Wise JoinHash-Hash Distribution JoinBroadcast Distribution Join分布式连接算法EX(PKEY)R1
4、R2R1R2EX(HASH)EX(HASH)EX(Broadcast)R1R2CREATE TABLE R1(a int,b int,c int)PARTITION BY HASH(b)PARTITIONS 4;CREATE TABLE R2(a int,b int,c int)PARTITION BY HASH(b)PARTITIONS 4;R1.b=R2.bR1.b=R2.aR1.a=R2.aR1.a=R2.a丰富的分布式执行策略自适应执行create table R1(a int primary key,b int,c int)partition by hash(a)partitions
5、 4;select b,sum(c)from R1 group by group by b;=|ID|OPERATOR|NAME|EST.ROWS|COST|-|0|PX COORDINATOR|1|10|1|EXCHANGE OUT DISTR|:EX10001|1|10|2|HASH GROUP BY|1|9|3|EXCHANGE IN DISTR|1|9|4|EXCHANGE OUT DISTR(HASH)|:EX10000|1|8|5|HASH GROUP BY|1|8|6|PX PARTITION ITERATOR|1|7|7|TABLE SCAN|r1|1|7|=Group by/
6、Distinct下压 优化器总是下压 执行时基于实际数据特征决定是否跳过下压的算子高级查询优化器一阶段分布式查询优化两阶段变为一阶段 避免不优的计划 执行计划包含分区位置信息 秒级完成50表连接的优化并行下压下压场景例子v3.2v4.0Group by,无distinct去重的聚合函数select a,sum(d)from t group by a;支持支持Group By,有distinct去重的聚合函数select a,sum(distinct c),count(distinct d)from t group by a;不支持支持Rollupselect a,sum(d)from t gr