This guide is intended for users of HeatWave. HeatWave is a distributed, scalable, shared-nothing, in-memory, columnar, query processing engine designed for fast execution of analytic queries. 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 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 HeatWave.
The number of HeatWave nodes required depends on the size of your data and the amount of compression that is achieved when loading the data into the HeatWave cluster. A HeatWave cluster supports up to 24 nodes.
Queries are issued from a MySQL client or application that interacts with the HeatWave cluster by connecting to the MySQL DB System node. Clients and applications do not connect to the HeatWave cluster directly. Queries that meet certain prerequisites are automatically offloaded from the MySQL DB System to the HeatWave cluster 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 a HeatWave cluster requires preparing tables on the
MySQL DB System and executing table load operations. Preparing
tables involves modifying table definitions to exclude certain
columns, define string column encodings, add data placement keys,
and specify HeatWave (
RAPID) as the secondary
engine for the table. (
InnoDB is the primary
engine.) Loading a table into a HeatWave cluster requires executing an
ALTER TABLE operation with the
SECONDARY_LOAD keyword. For more information,
see Chapter 3, Preparing Data, and
Chapter 4, Loading Data.
When a table is loaded, data is sliced horizontally and distributed among HeatWave nodes. After a table is loaded, changes to a table's data on the MySQL DB System node are automatically propagated to the HeatWave nodes. No user action is required to keep data synchronized. For more information, see Change Propagation.