PolarDB MySQL版8.0.2版本已面向全网正式发布。

8.0.2版本的新增和优化特性如下:
  • 并行查询和Hash Join能力增强;
  • 分区表能力增强,支持更多的分区表类型、分区锁和Interval分区;
  • 新增支持子查询解关联,可以利用Window Function和Group By对子查询解关联(即将支持);
  • 新增支持OSS外表能力(即将支持)。

并行查询2.0

在8.0.1版本中的并行查询功能,查询的执行模式是相对简单的两阶段执行模型(scatter-gather模型),在功能及性能上存在一定的局限性,具体如下:
  • 简单的执行框架,导致某些重度计算算子(分组聚集)可能存在单点瓶颈;
  • 算子并行未完全覆盖,例如Window Function/嵌套derived table无法支持并行;
  • 算子并行执行方式单一,如所有join必须全量下推,分组聚集以2阶段执行。
以上这些限制,使得8.0.1版本的并行查询对复杂分析查询的支持上有一定的限制。在8.0.2版本中,并行查询重磅升级到2.0版本,解决了上述的这些限制,对复杂分析查询进行了更全面的支持:
  • 多阶段的执行框架,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引擎上,并对冷数据进行查询和分析。