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引擎上,并對冷數據進行查詢和分析。