PolarDB MySQL版8.0.2版本已面向全网正式发布。
- 并行查询和Hash Join能力增强;
- 分区表能力增强,支持更多的分区表类型、分区锁和Interval分区;
- 新增支持子查询解关联,可以利用Window Function和Group By对子查询解关联(即将支持);
- 新增支持OSS外表能力(即将支持)。
并行查询2.0
- 简单的执行框架,导致某些重度计算算子(分组聚集)可能存在单点瓶颈;
- 算子并行未完全覆盖,例如Window Function/嵌套derived table无法支持并行;
- 算子并行执行方式单一,如所有join必须全量下推,分组聚集以2阶段执行。
- 多阶段的执行框架,SQL语句被拆解为多个计算算子。每个算子可以分布到多个worker上并行完成,算子间以流水线方式高效执行;
- 支持全算子并行;
- 算子并行方式多样化,如shuffle join、一阶段group aggregation、基于代价决定并行方式等。更多信息请参见概述。
Hash Join增强
Hash Join的并行查询支持简单并行Hash Join、并行Hash Join和Shuffle Hash Join。更多信息请参见Hash Join的并行执行。
分区表能力增强
支持更多的分区表类型
组合分区(分区+子分区)支持更多的分区表类型RANGE-RANGE、RANGE-LIST、LIST-RANGE、LIST-LIST、HASH-HASH、HASH-KEY、HASH-RANGE、HASH-LIST、KEY-HASH、KEY-KEY、KEY-RANGE、KEY-LIST、LIST DEFAULT HASH、UNIQUE CHECK IGNORE。更多信息请参见概述。
在线分区维护
在线分区维护功能增强了分区的DML和特定DDL(增加、删除分区)的并行能力,更好的让用户对分区表进行Roll-In和Roll-Out。更多信息请参见在线分区维护。
支持Interval分区
Interval分区是RANGE分区的扩展,当新插入的数据超过现有分区的范围时,该分区允许数据库自动创建新分区。更多信息请参见INTERVAL RANGE简介。
子查询解关联
关联子查询在分析场景中被广泛使用,例如在决策支持基准TPC-H的22个查询中,有超过1/3的查询包含关联子查询。在没有解关联的时候,外层查询的每一行数据,子查询都会被执行一次。对于外层查询产生数据量较多、子查询没有关联索引等情况,子查询多次执行会导致查询耗时严重。子查询解关联将关联子查询变换为等价的Join语句,可以避免子查询多次执行,同时优化器可以对Join做进一步优化。
支持OSS外表能力
OSS引擎可以让PolarDB直接查询OSS存储上的CSV数据,有效地降低存储的成本。通过OSS外表,您可以把CSV格式的冷数据存储在OSS引擎上,并对冷数据进行查询和分析。