Related Documentation Download this Manual
PDF (US Ltr) - 0.6Mb
PDF (A4) - 0.6Mb

HeatWave User Guide  /  Introduction

Chapter 1 Introduction

HeatWave is a distributed, scalable, shared-nothing, in-memory, hybrid columnar, query processing engine designed for extreme performance. It is enabled when you add a HeatWave cluster to a MySQL DB System.

A HeatWave cluster includes a MySQL DB System node and two or more HeatWave nodes. The MySQL DB System node has a HeatWave plugin that is responsible for cluster management, loading data into the HeatWave cluster, query scheduling, and returning query results to the MySQL DB System. HeatWave nodes store data in memory and process analytics queries. Each HeatWave node contains an instance of the HeatWave query processing engine (RAPID).

The number of HeatWave nodes required depends on data size and the amount of compression that is achieved when loading data into the HeatWave cluster. A HeatWave cluster supports up to 64 nodes.

Figure 1.1 HeatWave Architecture

Content is described in the surrounding text.

Queries are issued from a MySQL client or application that is connected to the MySQL DB System node. Clients and applications do not connect to HeatWave directly. Supported queries are automatically offloaded from the MySQL DB System to HeatWave for accelerated processing. Results are returned to the MySQL DB System node and to the MySQL client or application that issued the query. For more information, see Chapter 6, Running Queries.

Loading data into HeatWave involves preparing tables on the MySQL DB System and executing load commands. Preparing tables includes tasks such as excluding columns, defining string column encodings, adding data placement keys, and marking the tables as secondary engine candidates. (InnoDB is the primary engine.) For more information, see Chapter 3, Preparing Data, and Chapter 4, Loading Data.

The Auto Parallel Load utility facilitates the process of preparing and loading tables by automating required steps and optimizing the number of parallel load threads. See Section 4.1, “Auto Parallel Load”.

When HeatWave loads a table, the data is shareded and distributed among HeatWave nodes. Once a table is loaded, DML operations on the tables are automatically propagated to the HeatWave nodes. No user action is required to synchronize data. For more information, see Section 4.2, “Change Propagation”.

Data loaded into HeatWave, including propagated changes, are automatically persisted by the HeatWave Storage Layer to OCI Object Storage for a fast recovery in case of a HeatWave node or cluster failure.

After running queries on the data, you can use the HeatWave Advisor to optimize your workload. Advisor analyzes your data and query history to provide string column encoding and data placement recommendations. See Chapter 8, Workload Optimization using Advisor.