Rate This Document
Findability
Accuracy
Completeness
Readability

MySQL Pluggable Online Vectorized Analysis Engine

Application scenario: The MySQL Pluggable Online Vectorized Analysis Engine (KOVAE for short) applies to OLAP query, large data volume, and multi-core CPU scenarios.

Technical principle: This feature adopts a parallel processing mechanism. Each operator contains multiple worker threads, which significantly shortens the execution time of SQL statements. The columnstore structure improves data processing efficiency, and a secondary execution engine is provided as a plugin which is pluggable and can be dynamically loaded.

Figure 1 shows the data flow of SQL statements and result sets after execution.

Figure 1 KOVAE working principle

Figure 2 shows the KOVAE internal execution process.

Figure 2 Parallel execution architecture

Performance metric: The concurrent acceleration technology provided by KOVAE improves the query performance of OLAP by over three times.

Table 1 SQL operators that support parallel query

Operator

Description

TableScanIterator

Full table scan operator iterator

IndexRangeScanIterator

Index range scan iterator

RefIterator

Operator iterator of equality matching on non-unique indexes

EQRefIterator

Equality matching on the unique index

LimitOffsetIterator

Limit operator

FilterIterator

Filter operator

NestedLoopIterator

NestedLoopJoin operator

HashJoinIterator

HashJoin operator

AggregateIterator

Aggregate operator

SortingIterator

Sorting operator

TemptableAggregateIterator

Aggregate operator for saving grouping results in a temporary table

MaterializeIterator

Materialize operator

StreamingIterator

Streaming operator

Restrictions:

  • Currently, KOVAE adapts only to MySQL 8.0.25. Other MySQL versions are not verified.
  • KOVAE performs parallel executions. If the SQL statements specify no result set sorting information, the result set may be sorted differently from that of the open source MySQL.
  • Only some SQL statements can be offloaded to KOVAE for execution. For details, see the MySQL Pluggable Online Vectorized Analysis Engine Feature Guide. You can add hints or set cost thresholds to control the offloading conditions for SQL statements.