Overview of HeatWave

HeatWave provisions HeatWave clusters for accelerated processing of analytic queries.

Note

This guide describes how to deploy and manage HeatWave clusters on Oracle Cloud Infrastructure. For deploying and managing MySQL HeatWave on Amazon Web Services, see MySQL HeatWave on AWS, and for provisioning MySQL HeatWave in Oracle Database Service in Azure (ODSA), see Provisioning MySQL HeatWave.

A HeatWave cluster consists of one or more HeatWave nodes. HeatWave nodes store data in memory and process queries. The DB system includes a HeatWave plugin that is responsible for cluster management, query scheduling, and returning query results to the DB system.

When you enable a HeatWave cluster, queries that meet certain prerequisites are automatically offloaded from the DB system to the HeatWave cluster for accelerated execution. The queries that you issue from a MySQL client or application interacts with the HeatWave cluster by connecting to the DB system. The HeatWave cluster returns the results to the DB system and to the MySQL client or application that issued the query.

MySQL HeatWave Lakehouse

MySQL HeatWave Lakehouse enables query processing on the data residing in Object Storage. The source data is read from Object Storage, transformed to the HeatWave format, stored in the HeatWave persistence storage layer, and then loaded to the HeatWave cluster memory. HeatWave Lakehouse supports structured and relational data in CSV and Parquet formats. Avro format is supported in version 8.1.0-u3 or higher.

HeatWave Lakehouse is supported on HeatWave cluster with the MySQL.HeatWave.VM.Standard or HeatWave.512GB shapes only. Lakehouse supports a maximum of 512 HeatWave nodes. See MySQL HeatWave Lakehouse.
Note

Prior to MySQL 8.3.0-u2, you must disable point-in-time recovery, high availability, read replicas, and outbound replication in order to enable MySQL HeatWave Lakehouse.

Limits on Number of Tables and Columns

The DB system stores some metadata of every column loaded into HeatWave. The number of tables that can be loaded into HeatWave depends on the shape of the DB system and the total number of columns. If the tables have more columns, fewer tables can be loaded. See Table 11-1 for the maximum number of columns for each shape. As an example, the table shows the maximum number of tables with an average of 100 columns per table. Dictionary encoding string columns incur more memory and reduce the maximum number of columns and tables that can be loaded.
Note

You can use Auto Provisioning to verify that there is sufficient memory to load the tables into HeatWave.

Table 11-1 Limits on number of tables and columns

DB System Shape Max number of columns (approx.) Max number of tables with average of 100 columns per table (approx.)
MySQL.2 0.19 millions 1,900
MySQL.4 0.45 millions 4,500
MySQL.8 0.98 millions 9,800
MySQL.16 2.0 millions 20,000
MySQL.32 7.27 millions 72,700
MySQL.48 6.22 millions 62,200
MySQL.64 8.32 millions 83,200
MySQL.256 16.71 millions 167,100
MySQL.Heatwave.VM.Standard 7.04 millions 70,400
MySQL.HeatWave.BM.Standard 26.72 millions 267,200

Additional HeatWave Information

After deploying a HeatWave cluster, refer to the following:

  • HeatWave User Guide: Describes how to load data and run queries.
  • HeatWave tpch Quickstart: Describes how to add a HeatWave cluster to a DB system, import the tpch sample database into the DB system using the MySQL Shell Parallel Table Import utility, manually load data into HeatWave, and run queries.
  • HeatWave airportdb Quickstart: Describes how to add a HeatWave cluster to a DB system, import the airportdb sample database into the DB system using the MySQL Shell Dump Load utility, load data into HeatWave using Auto Parallel Load, and run queries.